vs创建的窗体应用程序怎么创建线程
HANDLEhthread;DWORDWINAPItest(LPVOIDpnull){//线程要处理的事情}[STAThreadAttribute]intmain(arr...
HANDLE hthread;
DWORD WINAPI test(LPVOID pnull)
{
//线程要处理的事情
}
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
hthread = CreateThread(NULL, NULL, test, NULL, NULL, NULL);
// 在创建任何控件之前启用 Windows XP 可视化效果
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
// 创建主窗口并运行它
Application::Run(gcnew Form1());
return 0;
}
运行之后会报错
错误 4 error C3641: “test”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
错误 5 error C2664: “CreateThread”: 不能将参数 3 从“DWORD (__stdcall *)(LPVOID)”转换为“LPTHREAD_START_ROUTINE”
我看过MSDN说clr要跟__clrcall一起调用才行,改过编译能过,执行貌似也不能用
本人菜鸟,求高手指点~ 展开
DWORD WINAPI test(LPVOID pnull)
{
//线程要处理的事情
}
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
hthread = CreateThread(NULL, NULL, test, NULL, NULL, NULL);
// 在创建任何控件之前启用 Windows XP 可视化效果
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
// 创建主窗口并运行它
Application::Run(gcnew Form1());
return 0;
}
运行之后会报错
错误 4 error C3641: “test”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
错误 5 error C2664: “CreateThread”: 不能将参数 3 从“DWORD (__stdcall *)(LPVOID)”转换为“LPTHREAD_START_ROUTINE”
我看过MSDN说clr要跟__clrcall一起调用才行,改过编译能过,执行貌似也不能用
本人菜鸟,求高手指点~ 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询