gcc を使用して自立型 C プログラムをコンパイルおよびリンクすると、__gxx_personality_v0 への未定義の参照が原因でリンカー エラーが発生することがあります。このシンボルの目的を理解するために、指定したエラー メッセージのコンテキストでその役割を調べてみましょう。
__gxx_personality_v0 の役割は何ですか?
シンボル __gxx_personality_v0スタック アンワインド テーブルで利用され、スタック アンワインドのアセンブリ出力に表示されます。 Itanium C ABI によれば、これは Personality Routine と呼ばれます。
例外がない場合、例外がスローされないため、このシンボルをグローバル NULL void ポインターとして定義すると「機能」します。ただし、例外をスローしようとすると、予期しない動作が発生します。
代替解決策:
以上が独立した C プログラムを gcc にリンクすると、「__gxx_personality_v0」への未定義の参照が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。