【发布时间】:2008-11-20 10:15:09
【问题描述】:
我在使用 Boost.Spirit 和 Boost.Thread 时遇到了崩溃 我的应用程序中的库。这只有在我使用了圣灵时才会发生 在主线程的进程生命周期内解析器。
崩溃发生在出口处,似乎与清理 Spirit 解析器分配的线程特定存储。 它可能由于 DLL 的顺序而崩溃 已卸载,因为线程特定的内存是在 DLL 内分配的 已经卸载了。然而,在应用程序本身退出之前,Boost.Thread DLL 不会被卸载。
有没有办法让我强制 Spirit 清除其特定线程 存储,例如当我收到进程分离通知时在我的 dll-main 中?
任何解决方案/提示将不胜感激。
PS! 我的平台和设置:
- Visual Studio 2005
- BOOST_ALL_DYN_LINK
- BOOST_SPIRIT_THREADSAFE
【问题讨论】:
标签: c++ boost boost-thread boost-spirit