【发布时间】:2016-01-07 05:23:03
【问题描述】:
我只是想运行一个非常简单的例子,用boost 使用线程。代码如下:
#include <iostream>
#include <boost/thread.hpp>
void workerFunc()
{
std::cout << "hi" << std::endl;
}
int main(int argc, char* argv[])
{
boost::thread workerThread(workerFunc);
workerThread.join();
return 0;
}
但我得到一个例外:
(boost_thread-vc140-mt-1_59.dll) in test.exe: 0xC0000005: Access violation reading location 0x0000000000000019.
尽管出现了异常,该程序仍然有效,我可以在控制台中看到 hi。我使用 VS2015,x64 配置。我的错在哪里?
【问题讨论】:
-
附带说明,为什么在 2015 年需要 boost::thread?
-
我用它来创建跨平台代码。
-
尝试在调试器中运行调试版本。
-
@SergeyA 也许他没有。这是一个奇怪的评论。
标签: c++ multithreading boost visual-studio-2015 boost-thread