首頁 > 後端開發 > C++ > 主體

為什麼我的獨立 C 程式中缺少 `__gxx_personality_v0`,如何修復它?

Mary-Kate Olsen
發布: 2024-11-18 04:30:02
原創
317 人瀏覽過

Why is `__gxx_personality_v0` Missing in My Free-Standing C   Program, and How Can I Fix It?

__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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板