在mfc 静态连接, 多线程编程时, com库, socket 的初始化, 需要在每个线程里对com库, socket 的初始化

来源:互联网 发布:淘宝快速上传宝贝软件 编辑:程序博客网 时间:2024/05/29 18:15

在作项目时,需要用的socket编程, 当然大家都知到都需要用AfxSocketInit()对socket 进行初始化,  刚开始创建工程时,是用的mfc的动态连接库, 所以只在 CWinApp::InitInstance (), 里调用AfxSocketInit();

后来根据客户需要工程改完改为mfc的静态连接后,  socket  怎么也创建不成功; 跟踪到mfc的源代码发现, mfc的动态连接时多个线程共享一个线程状态,  而mfc的静态连接则时每个线程都有自己的线程状态, 所以, 每个AfxSocketInit() 必须放在线程函数里调用才可以。com库的初始化 与此一样。
原创粉丝点击