自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liujiayu2的专栏

玩点技术

  • 博客(155)
  • 资源 (33)
  • 收藏
  • 关注

转载 Mission系统预览

从大局上看Mission是和整体的MVC框架协作的,那ServerListData来说,ServerList这一个逻辑可以单独出来,维护三个位置Data、Mission、View具体到list data的获取都直接由Mission完成,其他模块之需要使用就OK,Mission自己有策略决定何时去获取,或者定时更新

2015-06-30 21:36:58 820

转载 大厅的列表服务预览

2015-06-30 21:36:13 734

转载 Module.h 网狐的“com”工具箱

Module.h    网狐的“com”工具箱:简单介绍下这个东东,其实我以前分析的时候就说过了,这个设计看上去很美,其实用起来不那么方便。这不6603就没有这玩意了。    网狐的COM接口比较简单,只有两个接口interface IUnknownEx  void Release()  void* QueryInterface(REFGUID guid, DWORD dw

2015-06-30 21:35:37 1954

转载 关于网狐棋牌6603源码的整理、编译和搭建

最近换工作,趁着有一段清闲时间,整理了一下网狐棋牌的源码,这份源码下载很久了,一直呆在硬盘。这次正好好好看看。       网狐的代码质量很高,流露出来的代码也比较完整,基本上都能编译通过。但是要真的搭建起来,还是需要额外花一些功夫的。       我下载的是6603版本,经过分析和研究,服务器这边主要是缺少KernelEngine的源码,客户端这边主要是缺少NetworkServ

2015-06-30 21:33:45 4376

转载 网狐的加密模块,映射加密算法分析

//发送映射const BYTE g_SendByteMap[256]={    0x70,0x2F,0x40,0x5F,0x44,0x8E,0x6E,0x45,0x7E,0xAB,0x2C,0x1F,0xB4,0xAC,0x9D,0x91,    0x0D,0x36,0x9B,0x0B,0xD4,0xC4,0x39,0x74,0xBF,0x23,0x16,0x14,0x06,0x

2015-06-30 21:32:52 2877

转载 网狐棋牌(十) 成也萧何败也肖何? IUnknowEx

相关UML:看下某个查询接口的代码:////////////////////////////////////////////////////////////////////////////接口查询宏#define QUERYINTERFACE(Interface,Guid,dwQueryVer)                                  

2015-06-30 21:31:29 1262

转载 网狐棋牌(八) 异步引擎 和 网狐棋牌(九) 服务引擎概览

相关UML:核心技术在于:在指定的线程中创建窗口,然后向窗口发送消息,在窗口消息处理中调用外部回调。 ------------------------------------------------------------------------------网狐棋牌(九) 服务引擎概览相关UML:服务引擎这是简单的聚合了其他的子模块,然后在S

2015-06-30 21:30:57 1559

转载 网狐棋牌(六) DataBaseEngine 和 网狐棋牌(七) CEventService

相关UML:使用数据库引擎必须持有数据库引擎内部队列,实现数据库回调接口(用来处理数据库操作请求),然后结果投递到调度引擎队列。理解网络狐棋牌,最重要是理解两个概念:1,队列服务2,接口的传递晚上分析IEventService,明天应该能把IServiceEngine搞定 -_+! ----------------------------------

2015-06-30 21:30:11 1042

转载 网狐棋牌(五) TCPSocketEnging分析

相关UML:网络引擎整体结构:SocketItem细节:先来看几个底层结构://重叠结构类class COverLapped{    //变量定义public:    WSABUF                            m_WSABuffer;                        //数据指针    OV

2015-06-30 21:29:37 2005

转载 网狐棋牌(四) TimerEngine

相关UML:CTimerEngine成员变量:    //状态变量    DWORD                                m_dwTimerSpace;                    //时间间隔,这个值后来应该是给了定时器线程protected:    bool                                m_bSe

2015-06-30 21:28:41 1360

转载 网狐棋牌(三) 调度引擎初步分析

相关UML:CAttempterEngine实现了两个接口:IQueueServiceSink、IAttemperEngine;通过前面的分析,偶们了解到,IQueueServiceSink这个接口被是用来处理CQueueService中的数据的,根据上面的UML我们可以看到,CAttemperEngine关联了一个CQueueService(或者直接点说是:持有了一个CQue

2015-06-30 21:28:04 1615

转载 网狐棋牌(二) CQueueServiceEvent初步分析

相关UML:代码分析:首先CQueueServiceEvent这个名字很有诱惑,,,你感觉他是一个事件,其实不是。它实际的功能应该是一个带打包功能的事件队列,,,或者说是一个像指定的类似EventQueue的东东中投递事件。从接口上看,这个东东能投递TimerEvent  DataBaseEvent  SocketAcceptEvent  SocketReadEvent  So

2015-06-30 21:27:25 1280

转载 网狐棋牌(一) ServerKernel中的IQueueService接口分析

相关UML如下:添加:处理关键代码解析: 1//开始服务 2bool __cdecl CQueueService::StartService() 3{ 4    //效验参数 5    ASSERT(m_bService==false); 6    ASSERT(m_hCompletionPort==NULL);

2015-06-30 21:26:43 2004

转载 网狐棋牌游戏平台服务器架构设计分析

调用模型模仿COM组件接口模式,利用面向对象思想多态性polymorphism,调用方保存着被调用方的基础接口指针(interface or sink钩子)(Pure Virtual Function),调用方直接调用接口指针内声明的纯虚方法,而此纯虚函数的具体逻辑由该接口的派生类实现。示意图: 基于事件驱动的数据处理模型在系统功能设计中,针对网络事

2015-06-30 21:25:21 2466 1

转载 gh0st支持win7和win8

打开server的until.cpp文件.在最后面#endif的上面加上下列代码    DWORD _stdcall LaunchAppIntoDifferentSession( LPTSTR lpCommand )    {    DWORD dwRet = 0;    PROCESS_INFORMATION pi;    STARTUPINFO si;    DWO

2015-06-29 23:09:15 3271

转载 Event事件控制

事件对象就像一个开关:它只有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。产生事件对象的函数如下:  HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEve

2015-06-28 23:30:54 964

转载 AcceptEx()函数详细解析

服务器要做的最普通的事情之一就是接受来自客户端的连接请求。在套接字上使用重叠I/O接受连接的惟一API就是AcceptEx()函数【注一】。有趣的是,通常的同步接受函数accept()的返回值是一个新的套接字,而AcceptEx()函数则需要另外一个套接字作为它的参数之一。这是因为AcceptEx()是一个重叠操作,所以你需要事先创建一个套接字(但不要绑定或连接它),并把这个套接字通过参数传给Acc

2015-06-28 21:41:14 5956

转载 详解Windows内存分页机制

昨天新买了两本书, 看到了内存分页部分, 特此记录下, 没什么技术含量, 错误之处还请大牛指点.大多数现代的操作系统都支持虚存, 这使得系统上的每个程序都拥有自己的地址空间. 每当程序读取内存时, 都必须指定一个地址. 对于每个进程, 该地址必须转换为实际的物理内存地址. 例如, 若我们的MzfHips.exe 程序需要的数据在虚拟内存地址的0x0041FF10处, 则实际的物理地址可

2015-06-28 11:11:41 1409

转载 5种IO模式形象的比喻

老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。  这和Socket模型非常类似。下面我就以老陈接收信件为例讲解SocketI/O模型。  一:select模型  老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的信,在这种情况下,“下楼检查信箱”然后回到楼上耽误了老陈太多的时间,以至于老陈无法做其他工作。

2015-06-28 11:09:31 614

转载 NAT类型及检测方法

一 NAT的类型NAT可以分为很多种,但是最为普遍的是传统NAT,或者称为向外NAT。向外NAT在默认情况下只允许向外的Session穿越NAT,这就是我们最为常见的情况。这种向外NAT又可以分为基本NAT(Basic NAT)和NAPT(Network Address/Port Translation)。1.  基本NAT基本NAT只转换IP地址,而不转换端口。一个基本NAT往往

2015-06-26 14:53:37 8801

转载 网络游戏外挂核心封包揭密

网络游戏的封包技术是大多数编程爱好者都比较关注的关注的问题之一,在这里就让我们一起研究一下这一个问题吧。  别看这是封包这一问题,但是涉及的技术范围很广范,实现的方式也很多(比如说APIHOOK,VXD,Winsock2都可以实现),在这里我们不可能每种技术和方法都涉及,所以我在这里以Winsock2技术作详细讲解,就算作抛砖引玉。  由于大多数读者对封包类编程不是很了解,我在这里

2015-06-26 14:47:21 2835

原创 sql遍历所有数据集

sql遍历所有数据集

2015-06-25 14:55:30 1801

转载 SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较

排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:  1.row_number  2.rank  3.dense_rank  4.ntile    下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示:  图1  其中field1字段的类型是int,fi

2015-06-25 13:50:27 525

原创 自定义字段做条件

方法一:with temTableas(select *,ROW_NUMBER() over(order by Score desc) as paiming from QPShuGameMatchDB..MatchScoreStatistics)select * from temTable where temTable.paiming=1方法二:select * from (se

2015-06-25 13:49:11 1255

转载 UDP用打洞技术穿透NAT的原理与实现

首先先介绍一些基本概念:            NAT(Network Address             Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network             Address/Port Translator)。

2015-06-17 19:33:54 1476

转载 TCP打洞技术

建立穿越NAT设备的p2p的TCP连接只比UDP复杂一点点,TCP协议的“打洞”从协议层来看是与UDP 的“打洞”过程非常相似的。尽管如此,基于TCP协议的打洞至今为止还没有被很好的理解,这也 造成了对其提供支持的NAT设备不是很多。在NAT设备支持的前提下,基于TCP的“打洞”技术实际上 与基于UDP的“打洞”技术一样快捷、可靠。实际上,只要NAT设备支持的话,基于TCP的p2p技术 的健壮

2015-06-17 17:58:57 671

转载 WSAAccept()函数使用解析

首先了解accept、AcceptEx、WSAAccept的区别 .1. accept、WSAAccept是同步操作,AcceptEx是异步操作2. WSAAccept函数早accept函数基础上添加了条件函数判断是否接受客户端连接3. AcceptEx是异步的,可以同时发出多个AcceptEx请求,支持重叠IO操作. WSAAccept()函数:简述: 有条件地接受一

2015-06-17 10:14:00 6175

转载 全双工和半双工的区别

所谓的全双工通信时允许两个方向同时传递数据,他相当于两个单工通信,它要求发送设备和接收设备都有独立的接收和发送能力。通熟点来讲在通信时能保证在任意时刻双方都能听到对方的声音。半双工在一定时间内通信只有一个方向传递数据,半双工通信是指在在任意时间内通话,只能听到一方的通话声音,而另一方的声音被削掉,这种电话不需要回音抵消,普通免提电话和少部分会议电话属于此列。通熟点来讲半双工数据传输允许数据

2015-06-16 14:51:18 8212

转载 WinSock三种选择I/O模型

在《套接字socket及C/S通信的基本概念》和《WinSock编程基础》中,我们介绍了套接字的基本概念和WinSock API的基本调用规范。我们讨论了阻塞模式/非阻塞模式和同步I/O和异步I/O等话题。从概念的角度,阻塞模式因其简洁易用便于快速原型化,但在应付建立连接的多个套接字或在数据的收发量不均、时间不定时却极难管理。另一方面,我们需要对非阻塞模式套接字的 WinSock API调

2015-06-16 14:46:14 1449 1

转载 WinSock重叠I/O模型

一.重叠I/O模型的概念当调用ReadFile()和WriteFile()时,如果最后一个参数lpOverlapped设置为NULL,那么线程就阻塞在这里,直到读写完指定的数据后,它们才返回。这样在读写大文件的时候,很多时间都浪费在等待ReadFile()和WriteFile()的返回上面。如果ReadFile()和WriteFile()是往管道里读写数据,那么有可能阻塞得更久,导致程序性能下

2015-06-16 14:43:59 562

转载 深度探索I/O完成端口

引言要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么客户端可能长期等待而得不到响应,因为服务器同一时刻只能忙于处理一个请求。当然单个线程也能并发处理多个请求,当I/O操作被启动时,它可以从一个请求切换到另一个请求,但是这种结构相当复杂,并且不能充分利用多处理器的

2015-06-16 14:43:03 567

转载 WinSock完成端口I/O模型

关于重叠I/O,参考《WinSock重叠I/O模型》;关于完成端口的概念及内部机制,参考译文《深度探索I/O完成端口》。完成端口对象取代了WSAAsyncSelect中的消息驱动和WSAEventSelect中的事件对象,当然完成端口模型的内部机制要比WSAAsyncSelect和WSAEventSelect模型复杂得多。IOCP内部机制如下图所示:   在WinSock中编写完成

2015-06-16 14:42:11 1326

转载 五种I/O模型的性能分析

重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时管理不止64个套接字,必须创建额外的工作者线程,以便等待更多的事件对象

2015-06-16 14:40:31 1602

转载 WinSock服务器设计的四个关键问题

6.2.1 接受连接的方法Winsock扩展函数AcceptEx是唯一能够使用重叠I/O接受客户连接的函数。下面主要深入探讨使用该函数接收连接的问题。前面已经讨论过,当客户连接进来时,服务器需要创建一个套接字来负责维护与一个客户端的会话。使用AcceptEx函数之前必须创建一些套接字,并且这些套接字必须是未绑定、未连接的,即使它们可能在调用TransmitFile, TransmitPac

2015-06-16 14:39:42 568

转载 socket通信的环形缓冲

前段时间实现了一个小型的C/S架构的多人在线即时通信工具,JIGQQ。其中对使用TCP通信有点心得。 记得在我大学时代,就用VB做过TCP的通信。当然那时候是很初级的,发送的数据量也很小的应用。当时就觉得,有时候发送的数据接收端不能接收到,有时候呢觉得一次性没有接受完毕。前段时间实现了一个小型的C/S架构的多人在线即时通信工具,JIGQQ。其中对使用TCP通信有点心得。记得在我大学时代,就

2015-06-16 14:19:44 1073

转载 VC网络通信API概览

1.WinSock APIWindows Sockets是在Windows环境下使用的一套网络编程规范,常常简称为Winsock。WinSock主要是基于socket来开发基于TCP/IP模型中各层的服务器端与客户端程序。可使用RAW SOCKET API(原始套接字)开发低层协议的程序,当然这需要了解协议的报文格式。1.1 Windows Sockets API参考《Wi

2015-06-16 14:12:34 708

转载 TCP通信流程解析

B/S通信简述整个计算机网络的实现体现为协议的实现,TCP/IP协议是Internet的核心协议,HTTP协议是比TCP更高层次的应用层协议。HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。浏览器(Web Browse

2015-06-16 14:07:32 581

转载 VLAN原理详解

目录--------------------------------------------------------------------------------1.为什么需要VLAN2.实现VLAN的机制3.VLAN的访问链接(Access Link)4.VLAN的汇聚链接(Trunk Link)5.VLAN的汇聚方式——IEEE802.1Q与I

2015-06-16 14:00:02 632

转载 P2P的原理和常见的实现方式

为了项目的后期IM应用,最近在研究libjingle,中间看了也收集了很多资料,感慨网上很多资料要么太过于纠结协议(如STUN、ICE等)实现细节,要么中间有很多纰漏。最后去伪存真,归纳总结了一下,希望对以后的同行有些许帮助。如果有什么需要讨论或者指正的,欢迎留言或者邮件[email protected] 一.P2P实现的原理首先先介绍一些基本概念:

2015-06-16 13:58:09 659

转载 Win32多线程编程(6) — 多线程协作及线程的池化管理

多线程级别的并行计算写多线程应用程序最困难的地方在于如何使各线程的工作协调进行。Windows提供的用于线程间通信的各种机制是很容易掌握的,可是要把它们应用到工作中完成既定的功能时就会遇到这样、那样的困难。对于常见的“生产者-消费者”模型,只要采取合理同步措施实现数据交换的统一性即可。这类模型中的多线程往往任务独立,主要两类线程,一类写线程(生产者),一类读线程(消费者)。但在实际应用中,

2015-06-16 13:52:21 766

Teleport+Ultra+中文简体破解版

很不错 对网页开发的学习有帮助

2017-08-16

SSDTHook实现进程保护

SSDT 的全称是 System Services Descriptor Table,系统服务描述符表。 这个表就是一个把 Ring3 的 Win32 API 和 Ring0 的内核 API 联系起来。 SSDT 并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服务函数个数等。 通过修改此表的函数地址可以对常用 Windows 函数及 API 进行 Hook,从而实现对一些关心的系统动作进行过滤、监控的目的。 一些 HIPS、防毒软件、系统监控、注册表监控软件往往会采用此接口来实现自己的监控模块。

2017-06-09

SkinSharp开发库+百款皮肤+皮肤编辑器

SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件。通用换肤库(SkinSharp)能在软件添加换肤功能,支持所有主流的编程语言,比如C++、Delphi、VB6、.net、易语言等等。

2017-05-24

USB 摄像头

USB 摄像头, 亲测可编译可运行。

2017-05-16

minhook-1.3.2

对windows API钩子感兴趣的人都知道有一个优秀的库被微软命名为'Detours'。它真的很有用,但是它的免费版本(Express)是不支持X64。它的收费版本(Professional)支持x64,但是对我来说太昂贵了。微软说它值一万美元。 因此我决定从零开始写我自己的库。但是我没有将Detours的功能完美的复制到我的库中,它仅有API钩子功能,因为这就是我想要的。

2017-05-09

python2.7.8 32

python2.7.8 32位安装包及相关模块安装包,还有32位的PyScripter。 资源包含的文件如下: python-2.7.8.msi matplotlib-1.4.0.win32-py2.7.exe MySQL-python-1.2.4b4.win32-py2.7.exe numpy-1.8.1-win32-superpack-python2.7.exe pyparsing-2.0.2.win32-py2.7.exe python-dateutil-2.2.win32-py2.7.exe six-1.7.3.win32-py2.7.exe PyScripter-v2.5.3-Setup.exe

2016-05-25

detours HOOK API

detours HOOK API 官网网速太慢,谁用谁知道

2015-12-23

C++解析JSON

C++解析JSON

2015-12-02

AStar 算法实例

A星算法 对于空地左键单击后会产生障碍,对障碍左键单击会消除障碍,对于起点,两次左键盘单击会消除起点,如果不存在起点,单击右键会产生起点,如果存在起点不存在终点,单击右键会产生终点,如果既存在起点又存在终点,单击右键会消除终点,点击开始寻路回画出路径

2015-07-18

Visual Assist X补丁

码农们,当你使用VAX助手提示更新的时候,当你安装好新版打开VS提示注册的时候,你是否到处在找patch补丁,每次更新你都蛋碎一样到处寻找,这次我们给大家带来超级通用和谐补丁,每次更新VA_X后均可一如既往的正常使用,免去码农到处寻找补丁、反复打补丁、补丁版本不支持现有IDE的痛苦,翠花上菜!

2015-06-18

CrashFinder2.55

CrashFinder,找到崩溃代码行

2015-05-26

appverifier

AppVerifier,专门用来检测那些用普通方法检测不出的意想不到的bug(比如内存溢出、错误句柄使用等)。而且AppVerifier使用非常简单,

2015-05-22

强制复制软件

强制复制软件

2015-04-22

破解存储过程的加密

破解存储过程的加密

2015-04-22

Python平台

Python平台

2015-04-05

VC西红柿插件破解版

VC西红柿插件破解版

2015-04-05

各种各样的按钮(VC源码)

各种各样的按钮(VC源码)

2014-11-17

瞬间找文件

瞬间找文件

2014-09-05

密码查看器.zip

密码查看器.zip

2014-09-05

VC助手破解版

VC助手

2014-09-05

class-loader测试工程

class-loader测试工程

2023-06-01

mainboard测试工程

mainboard测试工程

2023-05-31

编码测试工程.rar

编码测试工程

2019-11-20

cmake-3.14.3-win64-x64.zip

cmake-3.14.3 最新安装版 CMake是一个开源的跨平台工具系列,旨在构建,测试和打包软件。CMake用于使用简单的平台和独立于编译器的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用的本机makefile和工作空间。

2019-09-05

luac逆向工具

luac编译之后的逆向,亲测可用 详细亲看:https://blog.csdn.net/liujiayu2/article/details/81940701

2018-08-22

ffmpeg推送摄像头rtmp流

详细信息请看: https://blog.csdn.net/liujiayu2/article/details/80880815

2018-07-02

IOCP网络模型

详细信息请看: https://blog.csdn.net/liujiayu2/article/details/80772904

2018-06-28

跨平台高性能TCP服务器框架 &boost;

基于boost的asio封装的高性能TCP服务器。asio已经有很好的事件封装机制,只有底层事件,没有针对TCP建立会话机制;也没有多包进行合包,以包为单位的事件提交机制。由于以上多种原因,决定对boost库进行更高的抽象和封装,对开发者提供一种更为便利的使用接口。

2018-06-25

网狐IOCP压缩版

网狐IOCP压缩版,自己整理了两天,3分不算多吧, 遗留问题: 1.由于不太会使用去掉了网络事件(收发数据、网络接受、网络断开)进队列,发的时候直接发送,接收的时候直接回调。不知道原作者都放进队列里 面有哪些确切的好处。 暂时先这样,后续更新。。。

2018-06-22

用C++实现的壳

基础版壳所实现的功能: 1.在原程序中添加一块区段,将壳部分的代码移植进去。 2.在程序启动前优先获得控制权,执行完自己的代码以后再将控制权交还给原程序。 3.对代码段进行简单的亦或加密。 4.对原程序的导入表(IAT)进行修复。 5.如果原程序开启了随机基址,则对源程序进行重定位修复。

2017-09-14

像加载DLL一样加载EXE

像加载DLL一样加载EXE 介绍 你可能已经被警告过,不要用LoadLibrary()加载可执行文件,你可能尝试这么做过,然后程序就崩溃了,所以你可能会认为这是不可能的。 但实际上这是可行的,本文就将介绍具体的方法。

2017-09-10

protobuf-2.61最新版

protocolbuffer 以下简称PB 是google 的一种数据交换的格式 它独立于语言 独立于平台 google 提供了三种语言的实现:java c++ 和 python 每一种实现都包含了相应语言的编译器以及库文件 由于它是一种二进制的格式 比使用 xml 进行数据交换快许多 可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换 作为一种效率和兼容性都很优秀的二进制数据传输格式 可以用于诸如网络传输 配置文件 数据存储等诸多领域 ">protocolbuffer 以下简称PB 是google 的一种数据交换的格式 它独立于语言 独立于平台 google 提供了三种语言的实现:java c++ 和 python 每一种实现都包含了相应语言的编译器以及库文件 由于它是一种二进制的格式 比使用 xml

2017-08-28

Gh0stVC6到VS2010迁移所有问题的解决方法

gh0st 由VC6.0开发的工程项目,移植到VS2010环境下,会出现各种错误和警告,此类错误多数是由编译器和环境不兼容导致,除修改工程下的某些属性参数外,还需手动修改编译过程中出现的一些错误。

2017-08-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除