dlopen“卸载时发生冲突”

时间:2018-01-10 02:58:30

标签: c++ regex boost shared-libraries dlopen

我有两个静态链接boost正则表达式的.so文件。每个这样的插件都是由我的主要可执行文件获取的插件。似乎当我卸载其中一个时,它会导致另一个读出来。

我的理论是,当一个人被卸载时,另一个人的升级副本实际上是在第一个被卸载的内存空间中引用东西。为了解决这个问题,我尝试将它们与-Bsymbolic和-Bsymbolic函数联系起来,但无济于事。关于我应该在这里做什么的任何建议?

我还注意到在某些地方切换到std正则表达式有助于减少valgrind错误输出,但我们无法完全切换,因为我们需要具有boost正则表达式的功能。

我使用的是boost 1.61。如果可行的话,我会尝试升级到1.66。

0 个答案:

没有答案