
C/C++
xly_971223
这个作者很懒,什么都没留下…
展开
-
C++基本概念
最近研究C++先从最基本的概念理解[b]编译:[/b]编译就是把源文件编译成目标文件,其主要工作是检查语法、函数与变量声明正确编译只需要头文件即可,不需要函数的实现编译的产出是一系列的.obj文件或者叫中间目标文件[b]链接:[/b]链接是把这些中间目标链接成一个可执行的文件(.exe),其主要的工作是寻找函数的入口如函数A中引用了函数B,那么链接程序需要定...2010-07-27 13:37:20 · 125 阅读 · 0 评论 -
函数指针与typedef
typedef常用格式为:[code="java"]typedef int INT;[/code]但用在定义函数指针时就不是这样了[code="java"]typedef char (* PFUN)(int);[/code]这样就定义了一个函数指针类型PFUN[code="java"]char test(int a){return 'a';}char sddd(int ...2010-07-29 10:06:49 · 113 阅读 · 0 评论 -
该死的C++(一)
两个C++类之间要互引用可不想java那么方便 我们来看一下吧[code="java"]A.h class A { B* b; }; B.h class B { A* a; } [/code]在java 中这样应该就可以了 可是该死的C++不行需要用到一个叫‘预定义’的玩意就是在用class B之前先说明一下如下:...2010-10-19 16:34:47 · 140 阅读 · 0 评论 -
理解windows事件对象
windows多线程开发中常用到事件对象(Handle)Handle实际上是同步对象的一种,跟java中的wait() notify()类似举个例子说吧两个线程 A B,A执行完后才能执行B那么就可以采用Handle伪代码如下ThreadArun{ do something; SetEvent(handle);//A执行完了,通知线程B}Th...2011-02-12 13:56:53 · 405 阅读 · 0 评论 -
理解WSAAsyncSelect函数
WSAAsyncSelect函数是berkeley socket之外的扩展函数使用这个函数必须与一个windows窗口对象关联看函数原型:[code="java"]int PASCAL FAR WSAAsyncSelect ( SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent );[/code]hWnd:窗口对象,用来接收系统发...2011-02-17 15:06:40 · 219 阅读 · 0 评论 -
阻塞 非阻塞socket的理解
[b]阻塞socket是这样的[/b][code="java"]recv(socket1, buf, length);[/code]去网卡缓冲区读取socket1的数据,读到的数据保存到buf如果网卡缓冲区有1个字节,就返回1个,有两个就返回两个,当然不能超过length如果网卡缓冲区没有数据,那么就一直等待,直到有数据可读是的,很傻很执着 :) 如果客户端再也不发送数据过...2011-03-07 10:26:16 · 206 阅读 · 0 评论