daf*_*der 5 c++ multithreading boost unit-testing
我的单元测试需要运行大量 BOOST_CHECK_CLOSE 调用,这需要很长时间(据我所知,在一个线程上)。我希望能够按照以下方式做一些事情:
#pragma omp parallel for num_threads(8)
for (int i=0; i<ARRAY_SIZE; i++) {
BOOST_CHECK_CLOSE(array1[i], array2[i], tolerance);
}
Run Code Online (Sandbox Code Playgroud)
然而,当我尝试这个时,似乎发生了一些我无法控制的非常讨厌的内存损坏。段错误最常见,但有时会改为:
*** stack smashing detected ***
Run Code Online (Sandbox Code Playgroud)
有没有人有一些经验可以分享他们可以分享的实现我预期结果的好方法?我相信每个人都会喜欢他们的测试快速运行!
它不能像这里提到的那样(第3项)
http://www.boost.org/doc/libs/1_57_0/libs/test/doc/html/open-issues.html
请参阅此处的完整讨论: