c++ - boost::shared_pointer 退出而不调用 release

标签 c++ boost shared-ptr

我正在使用一个程序,其中我的代码调用第三方库,该库使用 boost 和 shared_pointers 来创建一个大而复杂的结构。这个结构是在我调用的方法中创建的,在方法结束时我知道程序已经完成。 对于我正在处理的大型样本,处理代码需要 30 分钟,而在退出时自动调用的 boost 代码需要几个小时。退出程序而不释放内存并花费所有时间将是一个完全可以接受的结果。 我试过 vector *iddListV = 新 vector ();//这会泄漏内存 将所有相关结构添加到 vector 中,但这无济于事。 我也尝试调用 exit(0);在到达子程序结束之前。这也会导致 boost 代码花费很多时间来尝试释放指针。 如何让 C++ 程序(Windows 上的 Microsoft C++ 如果重要)突然退出而不调用 boost 析构函数。 我的约束是我可以在分配 boost 结构之前调用任何函数,但一旦它开始运行就不能修改代码。

最佳答案

_Exit 退出而不调用任何析构函数。

关于c++ - boost::shared_pointer 退出而不调用 release,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15798549/

相关文章:

c++ - 获取包括共享库的 C++ 应用程序的调用堆栈

c++ - boost::filesystem::path(std::wstring) 抛出异常

c# - 如何使作为 SWIG shared_ptr 传递给非托管代码的托管代码对象保持事件状态?

c++ - 在什么平台上 func(shared_ptr(...), shared_ptr(...)) 真的很危险?

c++ - 将共享指针添加到 vector 时出错

c++ - 在迭代同一 vector 时删除 vector 中的元素

c++ - #pragma warning disable 在数组初始值设定项中被忽略

boost - 更改 boost 图中的边缘目标

c++ - 使用 OpenCV 的边界框

c++ boost程序选项允许长短选项