Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从另一个库对boost::barrier对象调用函数时发生异常 我有一个C++应用程序,它加载一个DLL并传递回调。DLL创建自己的线程,执行一些任务,并通过回调将指向boost::barrier对象的指针传递给主应用程序。但是当我在Bug对象上调用 WAITE()/CUT>时,我得到一个异常“微软C++异常:Booo::ExpUTIONEXPLAY::CurnOnIMPL Booosi::Error OnIfFixEngestoBoox::ththyReaseCyError > < /Cord>_C++_Windows_Multithreading_Dll_Boost Thread - Fatal编程技术网

从另一个库对boost::barrier对象调用函数时发生异常 我有一个C++应用程序,它加载一个DLL并传递回调。DLL创建自己的线程,执行一些任务,并通过回调将指向boost::barrier对象的指针传递给主应用程序。但是当我在Bug对象上调用 WAITE()/CUT>时,我得到一个异常“微软C++异常:Booo::ExpUTIONEXPLAY::CurnOnIMPL Booosi::Error OnIfFixEngestoBoox::ththyReaseCyError > < /Cord>

从另一个库对boost::barrier对象调用函数时发生异常 我有一个C++应用程序,它加载一个DLL并传递回调。DLL创建自己的线程,执行一些任务,并通过回调将指向boost::barrier对象的指针传递给主应用程序。但是当我在Bug对象上调用 WAITE()/CUT>时,我得到一个异常“微软C++异常:Booo::ExpUTIONEXPLAY::CurnOnIMPL Booosi::Error OnIfFixEngestoBoox::ththyReaseCyError > < /Cord>,c++,windows,multithreading,dll,boost-thread,C++,Windows,Multithreading,Dll,Boost Thread,同样的代码在OS X上也能正常工作。问题只出现在Windows上。所以我猜Windows有一些特定的限制,我不知道。谷歌建议我可能达到了允许的最大线程数限制,但我的应用程序创建的线程数不超过20个。所以我认为情况并非如此 以下是功能: 来自DLL:s_funPtr(命令,s_栏);s_栏是一个静态指针 主应用程序中的 PortCallback(CString command, boost::barrier* bar) { bar->wait(); //Throws an excep

同样的代码在OS X上也能正常工作。问题只出现在Windows上。所以我猜Windows有一些特定的限制,我不知道。谷歌建议我可能达到了允许的最大线程数限制,但我的应用程序创建的线程数不超过20个。所以我认为情况并非如此

以下是功能: 来自DLL:
s_funPtr(命令,s_栏);
s_栏是一个静态指针

主应用程序中的

PortCallback(CString command, boost::barrier* bar)
{
    bar->wait(); //Throws an exception
} 

你能看到它有什么问题吗?

你检查过
bar
不是
NULL
吗?是的。它不是NULL。它是否可能以某种方式被损坏了?还要检查调用约定(\u stdcall或\u cdelc)。