0

我必须在程序执行期间保存调用树。为此,我找到了编译器开关/callcap。一切正常,直到我包含boost/exception/detail/exception_ptr.hpp

我在boost/exception/exception.hpp:216处收到访问冲突写入位置 0x00000000的未处理异常。这甚至在到达 main() 之前就被抛出。

我正在使用提升 1.51.0。

我有两个简单的文件:

// main.cpp
#include <boost/exception/detail/exception_ptr.hpp>
int main()
{}

cap.cpp 在没有 /callcap 开关的情况下编译

  // cap.cpp
  extern "C" void __stdcall _CAP_Enter_Function(void *p)
{
}

extern "C" void __stdcall _CAP_Exit_Function(void *p) 
{
}

我认为问题在于 exception_ptr.hpp 中的所有函数都将使用 callcap 函数进行包装,但不幸的是,我不知道如何只为 hpp 关闭此功能。

请问各位大神有过这样的经历吗?

4

0 回答 0