私はそれを言うItanium ABIを読んでいます
2 つの type_info ポインターが等しい場合にのみ、2 つの type_info ポインターが同等の型記述を指すことを意図しています。実装は、たとえば、シンボル プリエンプション、COMDAT セクション、またはその他のメカニズムを使用して、この制約を満たす必要があります。
動的にロードされたライブラリを使用する場合、GCC や GNU binutils を使用する Linux などの一般的なプラットフォームで実際にこれがどのように達成されるかについて、詳細を知っている人はいますか? それはどのくらい信頼できますか?
typeid
また、 MSVC での比較は、マングルされたシンボル名のランタイム文字列比較を使用して実装されている (だった?)という印象を受けています。これは、この要件が満たされることが保証されていないためです。今でもこのやり方ですか?また、MSVC が Itanium ABI プラットフォームで使用されているのと同じ手法を利用できないようにする技術的なプラットフォームの制約はありますか?
EDITdynamic_cast
もう1つの質問:モジュール境界を越えた例外キャッチ(ABIのいずれか)はRTTI情報にも依存していますか、それともランタイムsと同等のもの以外に別のメカニズムが関係していますか?