__gxx_personality_v0 在獨立 C 程序中的作用是什麼?
編譯獨立 C 程式期間出現持久連結器錯誤可能與 libstdc 中缺少 __gxx_personality_v0 符號的定義有關。雖然簡單的定義可以解決問題,但了解其目的至關重要。
__gxx_personality_v0 是堆疊展開表的組成部分,如組譯輸出所示。 Itanium C ABI 明確將其角色定義為 Personality Routine。
透過將 __gxx_personality_v0 宣告為全域 NULL void 指針,可以有效解決該錯誤。然而,發生這種情況是因為沒有拋出異常。如果發生異常,行為就會變得明顯。
要避免此類問題,請考慮使用 -fno-exceptions 停用異常,並使用 -fno-rtti 停用 RTTI。或者,使用 g 而不是 gcc 連結將自動添加 -lstdc ,解決依賴關係。
以上是為什麼我的獨立 C 程式中缺少 `__gxx_personality_v0`,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!