1

背景については、シンボルの可視性、例外、実行時エラーを参照してください。

私は完全に私自身の管理下にある Linux DSO のコレクションを持っています。それらの間で STL コンテナーを共有したいと考えています。ODR 違反に関連しているように見える不可解な SIGSEGV 問題を経験しました。これは、目に見えないシンボルに起因します。

ここでの唯一の正気な答えは、このすべてのコードを 1 つの大きな DSO にまとめるか、STL コンテナーの共有を断念することかもしれません。ただし、この質問の目的は、代替案を探すことです。根本的な問題がデフォルトの可視性ルールである場合、これを機能させるデフォルトの可視性ルールを変更するオプションはありますか? 「スロー」についてはあまり気にしません。コンテナー操作についてだけです。はい、コンテナーがスローできることは知っていますが、それを回避するために防御的にコーディングする準備ができています。

4

1 に答える 1

0

私のグーグル能力が私に戻ってきたので、http://gcc.gnu.org/wiki/Visibilityを見つけました。これは、知るべきことすべてを教えてくれると思います。STL の悲惨な内部構造については教えてくれませんが、そうする必要はないと思います。

于 2013-06-22T20:33:37.713 に答える