在一个dll里分配的内存,在另一个dll或exe释放会有问题吗?
4个回答
展开全部
啦啦啦啦阿拉~~~~~哈哈
解决啦
解决啦^_^
用互斥对象!!
跟孙鑫学的
哈哈
我看到一个很很关键的东西
互斥对象被获取后如果不主动Relese,那么线程结束后会自动Relese
哈哈
我在ThreadProc中用了WaitForSingleObject(dlg->m_hEvent,INFINITE);
在单击事件开始时加入
m_hEvent=CreateMutex(NULL,FALSE,NULL);
这样就是一个接一个执行了
护持对象一次只能一个线程获得
泪奔
T_T啦啦啦啦阿拉~~~~~哈哈
解决啦
解决啦^_^
用互斥对象!!
跟孙鑫学的
哈哈
我看到一个很很关键的东西
互斥对象被获取后如果不主动Relese,那么线程结束后会自动Relese
哈哈
我在ThreadProc中用了WaitForSingleObject(dlg->m_hEvent,INFINITE);
在单击事件开始时加入
m_hEvent=CreateMutex(NULL,FALSE,NULL);
这样就是一个接一个执行了
护持对象一次只能一个线程获得
泪奔
T_T
解决啦
解决啦^_^
用互斥对象!!
跟孙鑫学的
哈哈
我看到一个很很关键的东西
互斥对象被获取后如果不主动Relese,那么线程结束后会自动Relese
哈哈
我在ThreadProc中用了WaitForSingleObject(dlg->m_hEvent,INFINITE);
在单击事件开始时加入
m_hEvent=CreateMutex(NULL,FALSE,NULL);
这样就是一个接一个执行了
护持对象一次只能一个线程获得
泪奔
T_T啦啦啦啦阿拉~~~~~哈哈
解决啦
解决啦^_^
用互斥对象!!
跟孙鑫学的
哈哈
我看到一个很很关键的东西
互斥对象被获取后如果不主动Relese,那么线程结束后会自动Relese
哈哈
我在ThreadProc中用了WaitForSingleObject(dlg->m_hEvent,INFINITE);
在单击事件开始时加入
m_hEvent=CreateMutex(NULL,FALSE,NULL);
这样就是一个接一个执行了
护持对象一次只能一个线程获得
泪奔
T_T
展开全部
刚看了Windows核心编程的某些章节,里面有这样的描述:书上说,如果exe和dll都是链接到DLL的C++运行库,那么没有问题;如果链接到静态的C/C++运行库,那么free就会失败.具体原因还在看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我刚才看了一下这个帖:传递给线程的参数,是不是需要放在堆里面?。我觉得堆属于线程更不合理,那一个线程分配的内存就不能在另一个线程里释放了。听了楼上高人们的解析,堆在进程里最好了,反正同一个地址,dll分配也好,线程分配也好,都可以释放。不知道有没有操作系统是这样的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这东西我在CU上面问过了,跟OS没多大关系.静态链接libc都会出现多个堆的问题.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询