為什麼在 GCC 中連結庫的順序有時候會導致錯誤?


基本上這種錯誤起源於編譯階段的連結器。連結器的預設行為是在當前程式需要時從歸檔庫中獲取程式碼。

為了正常工作,庫必須按順序存在。可以說它必須以“呼叫者在被呼叫者之前”的形式存在。這個問題可以透過使用標誌選擇非預設行為來解決,但在此過程中,連結可能需要更長的時間。否則,可以透過正確排序庫來解決。載入器和 tsort 這兩個可以幫助重新排列和糾正排序。

更新於:2019-07-30

127 次瀏覽

開啟你的職業生涯

透過完成本課程獲得認證

入門
廣告