1

有关背景,请参阅符号可见性、异常、运行时错误

我有一组完全由我自己控制的 Linux DSO。我希望在他们之间共享 STL 容器。我遇到过神秘的 SIGSEGV 问题,这些问题似乎与 ODR 违规有关,而这些违规又是由不可见的符号引起的。

可能这里唯一明智的答案是将所有这些代码收集到一个大的 DSO 中,或者放弃共享 STL 容器。但是,这个问题的目的是寻找替代方案。如果根本问题是默认可见性规则,是否可以更改默认可见性规则以使其正常工作?我不太关心“扔”​​,只关心容器操作。是的,我知道容器可以抛出,但我准备进行防御性编码以避免它。

4

1 回答 1

0

我的 google 能力返回给我,因此我找到了http://gcc.gnu.org/wiki/Visibility,我认为它告诉了我所有要知道的事情。它不会告诉我有关 STL 的血腥内部结构,但我认为不必如此。

于 2013-06-22T20:33:37.713 回答