MFC工程中使用pthread Win32版本有内存泄露

lovestxu 2017-09-22 03:38:27
在mfc工程以及win32应用程序工程只做了很简单的测试 都有一样的问题,控制台工程没问题,难道是跟有UI线程有关
static void* Run(void* param)
{
return 0;
}
pthread_create(&m_id, nullptr, &Run, this);
void* value_ptr;
pthread_join(m_id, &value_ptr);

创建完就释放了。

Detected memory leaks!
Dumping objects ->
{399} normal block at 0x00ADC7D8, 160 bytes long.
Data: < > 02 00 00 00 00 00 00 00 F0 02 00 00 D8 C7 AD 00
{378} normal block at 0x00ADB678, 160 bytes long.
Data: < x > 00 00 00 00 00 00 00 00 00 00 00 00 78 B6 AD 00
{59} normal block at 0x00AD34A8, 16 bytes long.
Data: < > 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
{58} normal block at 0x00AD3458, 16 bytes long.
Data: < > 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Object dump complete.
...全文
394 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovestxu 2017-10-09
  • 打赏
  • 举报
回复
没人在MFC工程中使用POSIX Threads for Win32吗
zhllxt 2017-10-09
  • 打赏
  • 举报
回复
直接用C++11的std::thread多好,跨平台通吃,还用这些第三方的干什么。
lovestxu 2017-09-27
  • 打赏
  • 举报
回复
UP UP
lovestxu 2017-09-25
  • 打赏
  • 举报
回复
引用 2 楼 schlafenhamster 的回复:
pthread_create是Unix操作系统创建的多线程函数。MFC?
PThread 为window系统提供的版本。
这不是鸭头 2017-09-23
  • 打赏
  • 举报
回复
void* value_ptr; pthread_join(m_id, &value_ptr); 直接改为 pthread_join(m_id, NULL);
schlafenhamster 2017-09-22
  • 打赏
  • 举报
回复
pthread_create是Unix操作系统创建的多线程函数。MFC?
赵4老师 2017-09-22
  • 打赏
  • 举报
回复
Multiple Threads in the User Interface http://msdn.microsoft.com/zh-cn/library/ms810439.aspx

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧