社区
进程/线程/DLL
帖子详情
MFC 静态与动态链接的线程问题
kxgy
2003-09-11 10:40:04
使用 MFC 动态链接的程序中使用多线程时,在新建的线程中获取线程的状态正确(AfxGetModuleThreadState);而使用静态链接的则会有错。
例如使用静态链接的新线程中使用 CSocket.Attach 会出现非法访问的错误。
不知是何缘故?请高手指点!
...全文
60
4
打赏
收藏
MFC 静态与动态链接的线程问题
使用 MFC 动态链接的程序中使用多线程时,在新建的线程中获取线程的状态正确(AfxGetModuleThreadState);而使用静态链接的则会有错。 例如使用静态链接的新线程中使用 CSocket.Attach 会出现非法访问的错误。 不知是何缘故?请高手指点!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xmndragon
2003-11-20
打赏
举报
回复
我已经找到答案了,就是须在线程中初始化SOCKET;如下则不会出现错误:BOOL CConnectThread::InitInstance()
{
// TODO: perform and per-thread initialization here
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
.......
}
xmndragon
2003-10-13
打赏
举报
回复
我也有同样的困惑,不知那位大侠能够解答.up up up
kxgy
2003-09-11
打赏
举报
回复
动态链接中 AFX_MODULE_THREAD_STATE.m_pmapDeadSockets 为有效指针,而静态链接中该值为 0。
kxgy
2003-09-11
打赏
举报
回复
VC 6.0 与 7.0 中都存在该问题!
动态改变
静态
文本颜色的
MFC
源码多
线程
在本文中,我们将深入探讨如何在
MFC
(Microsoft Foundation Classes)框架中实现动态改变
静态
文本颜色的功能,并在多
线程
环境中应用此技术。
MFC
是微软提供的C++库,用于构建Windows应用程序,它封装了Windows API,...
MFC
多
线程
代码
UI
线程
负责与用户交互,而工作
线程
通常用于执行后台计算或长时间运行的任务,以避免阻塞UI
线程
,保持界面的流畅性。 1. **创建
线程
**
MFC
通过CWinThread类来创建和管理
线程
。要创建一个新的
线程
,首先需要继承...
MFC
创建UI
线程
3. **创建
线程
**:使用派生类的`CreateThread()`
静态
成员函数来启动新
线程
。这个函数会返回新
线程
的句柄,可以通过这个句柄进行
线程
同步和通信。 4. **消息循环**:在`Run()`函数中,需要调用`PumpMessage()`来处理...
mfc
线程
简单例子
4.
线程
同步:如果
线程
需要与主
线程
通信或修改共享资源,需要使用
MFC
的同步对象,如CSemaphore、CCriticalSection等,以防止数据竞争和死锁。 5.
线程
结束:
线程
函数执行完毕后,
线程
自动退出。 在"Progress ...
MFC
多
线程
编程
**一、单
线程
的
问题
与多
线程
的引入** 在单
线程
程序中,如果一个任务需要长时间运行,如上面描述的`Sleep(6000)`,程序会暂时停止对其他用户交互的响应,导致用户体验下降。为了解决这个
问题
,我们可以引入多
线程
。在...
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章