【发布时间】:2012-10-25 07:09:56
【问题描述】:
如何使用_beginthreadex() 启动线程,使其执行void myFunction(wchar_t *param);?我尝试使用这个:
_beginthread(NULL, 0, myFunction, L"someParam", 0, &ThreadID);
但是有编译错误:
错误 C2664:“beginthreadex”:无法将参数 3 从“void (_cdecl *)(wchar_t *)”转换为“unsigned int (__stdcall *)(void *)”。
如何解决此错误?我似乎能够做到_beginthread((void(*)(void*))myFunction, 0 , (void *)L"someParam");。但是对于_beginthreadex(),这些演员表似乎不起作用。做什么
我需要去做?
此代码不输出任何内容。怎么了?
unsigned int __stdcall myFunction( void *someParam )
{
printf("Hello world!");
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
_beginthreadex(NULL, 0, myFunction, L"param", 0, NULL);
return 0;
}
【问题讨论】:
-
@Andres Jaan Tack 这是 WINAPI 项目
-
如果问题与应在标签中列出的特定库/api 相关,以更好地帮助识别范围。