摘要: VARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构体tagVARIANT的定义。struct tagVARIANT { union { struct __tagVARIANT { VARTYPE vt; WORD wReserved1; WORD wReserved 阅读全文
posted @ 2016-04-12 16:18 fenghuan 阅读(6761) 评论(0) 推荐(0) 编辑
摘要: //指出下面程序的问题/*typedef struct TagStu{ int n;}Stu;void test(Stu* s[]){ coutnnarrownn<<endl;}int main(){ Stu* sTmp; sTmp = new Stu[10]; test(sTm... 阅读全文
posted @ 2015-10-16 14:47 fenghuan 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 一、概念1.同步方式与异步方式同步方式:发送方不等接收方响应,便接着发送下一个数据包的通信方式异步方式:发送方发出数据,等收到接收方发回的响应后,才发送下一个数据包的通信方式2.阻塞与非阻塞方式阻塞套接字:执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上。例如,调用Receive... 阅读全文
posted @ 2015-10-13 10:58 fenghuan 阅读(1520) 评论(0) 推荐(0) 编辑
摘要: 简介(源于维基)Berkeley套接字(也作BSD套接字应用程序接口)刚开始是4.2BSD Unix操作系统(于1983发布)的一套应用程序接口。然而,由于AT&T的专利保护着UNIX,所以只有在1989年Berkeley大学才能自由地发布自己的操作系统和网络库。Berkeley套接字接口,一个应用... 阅读全文
posted @ 2015-10-12 13:28 fenghuan 阅读(2156) 评论(0) 推荐(0) 编辑
摘要: 加载套接字库并进行版本协商Int WSAStartup(WORD wVersionRequested,//请求的版本号,低字节代表主版本,高字节代表副版本,一般我们用MAKEWORD(x,y)//宏来指定版本号,如:MAKEWORD(2,1)代表2.1的版本LPWSADATA lpWSAData//... 阅读全文
posted @ 2015-10-11 16:51 fenghuan 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 网络程序的实现可以有多种方式,Windows Socket就是其中一种比较简单的实现方法.Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建.通过绑定操作与驱动程序建立关系。此后应用程序送给Socket的数据,由Socket交给驱动程序向网络上发送出去.计算机从网络上... 阅读全文
posted @ 2015-10-10 18:01 fenghuan 阅读(285) 评论(0) 推荐(0) 编辑
摘要: char* get_str(void) { char str[] = {"abcd"}; return str; }char str[] = {"abcd"};定义了一个局部字符数组,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已经释放了的空间的地址。此函数返... 阅读全文
posted @ 2015-10-10 09:23 fenghuan 阅读(2959) 评论(0) 推荐(0) 编辑
摘要: 1.互斥量,Mutex[cpp]view plaincopy#include#includeusingnamespacestd;DWORDWINAPIThread1(LPVOIDlpParmeter);DWORDWINAPIThread2(LPVOIDlpParmeter);staticHANDLE... 阅读全文
posted @ 2015-10-09 19:32 fenghuan 阅读(1678) 评论(0) 推荐(0) 编辑
摘要: 线程的同步Critical section(临界区)用来实现“排他性占有”。适用范围是单一进程的各线程之间。它是:·一个局部性对象,不是一个核心对象。·快速而有效率。·不能够同时有一个以上的critical section被等待。·无法侦测是否已被某个线程放弃。MutexMutex是一个核心对象,可... 阅读全文
posted @ 2015-10-09 19:31 fenghuan 阅读(6072) 评论(0) 推荐(0) 编辑
摘要: 一、用CEvent实现线程同步事件对象(Event)是最简单的同步对象,它包括有信号和无信号两种状态。在线程访问某一资源之前,也许需要等待某一事件的发生,这时用事件对象最合适。例如,只有在通信端口缓冲区收到数据后,监视线程才被激活。MFC中,CEvent类提供了对事件的支持。CEvent对象有两种类... 阅读全文
posted @ 2015-10-09 16:50 fenghuan 阅读(985) 评论(0) 推荐(0) 编辑