C++ QtConcurrent::run()不';t接受\uu stdcall/WINAPI函数
我试图使用C++ QtConcurrent::run()不';t接受\uu stdcall/WINAPI函数,c++,qt,compiler-errors,stdcall,qtconcurrent,C++,Qt,Compiler Errors,Stdcall,Qtconcurrent,我试图使用QtConcurrent::run()执行一个具有调用约定的DLL函数,但出现编译错误 我已将问题简化为以下示例代码: __stdcall void dllFunc() { qDebug() << "test"; } void test() { QtConcurrent::run(dllFunc); } 为什么会发生这种情况,最好的解决办法是什么?好吧,为了解决这个问题,我最终使用了一个具有相同签名但没有\uu stdcall约定的包装函数: __std
QtConcurrent::run()
执行一个具有调用约定的DLL函数,但出现编译错误
我已将问题简化为以下示例代码:
__stdcall void dllFunc() {
qDebug() << "test";
}
void test() {
QtConcurrent::run(dllFunc);
}
为什么会发生这种情况,最好的解决办法是什么?好吧,为了解决这个问题,我最终使用了一个具有相同签名但没有
\uu stdcall
约定的包装函数:
__stdcall int dllFunc(int param1, void *param2) {
qDebug() << "test";
return 0;
}
int dllFuncWrapper(int param1, void *param2) {
return dllFunc(param1, param2);
}
void test() {
QtConcurrent::run(dllFuncWrapper);
}
\u stdcall int dllFunc(int param1,void*param2){
qDebug()
__stdcall int dllFunc(int param1, void *param2) {
qDebug() << "test";
return 0;
}
int dllFuncWrapper(int param1, void *param2) {
return dllFunc(param1, param2);
}
void test() {
QtConcurrent::run(dllFuncWrapper);
}