如何使用 启动线程_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;
}