| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 56 人关注过本帖
标题:线程函数_beginthread怎么添加参数呢?
只看楼主 加入收藏
a451410
Rank: 2
等 级:论坛游民
帖 子:132
专家分:98
注 册:2018-3-4
结帖率:83.67%
收藏
已结贴  问题点数:10 回复次数:1 
线程函数_beginthread怎么添加参数呢?
在使用_beginthread函数时候,其中第一个参数是个函数,请问如果这个函数如果要带参数该怎么办呢?我试了试直接添加并不行,会报错.如下:
这样不行,参数HWND传不进去,会提示void类型的实参什么什么不兼容
_beginthread(_writeEdit(hwnd), 0, NULL);
_wrinteEdit(HWND hwnd)
{
 ...
 ...
}
2025-03-11 20:36
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9042
专家分:54136
注 册:2011-1-18
收藏
得分:10 
程序代码:
#include <windows.h>
#include <process.h>

#include <stdio.h>

void _wrinteEdit( HWND hWnd )
{
    printf( "hWnd = %p\n", hWnd );
}

void __cdecl start_address( void* parg )
{
    _wrinteEdit( (HWND)parg );
    _endthread();
}

int main( void )
{
    HWND hWnd = (HWND)0x01234567;
    uintptr_t ret = _beginthread( &start_address, 0, (void*)hWnd );
    WaitForSingleObject( (HANDLE)ret, INFINITE );
}

不要使用 _beginthread,它有太多的问题,应该代替以 _beginthreadex
不要使用 _beginthread/_beginthreadex 等私有函数,应该使用C标准库中的 thrd_create

2025-03-12 08:52
快速回复:线程函数_beginthread怎么添加参数呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016782 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved