使用 GCC 編譯 C 程式:解決連結器錯誤
GCC 編譯器能夠編譯 C 程式。但是,在編譯過程中遇到連結器錯誤(如提供的範例所示)可能會導致錯誤地假設 GCC 無法編譯 C 。
了解連結器錯誤
報告的連結器錯誤與 GCC 編譯 C 的能力無關。它們表明缺少對 C 程式所需的函數和庫的引用。具體來說,這些錯誤是指在標準 C 庫中找不到的符號,該庫是 GCC 連結的預設庫。
透過連結到 C 標準函式庫修復錯誤
要解決連結器錯誤,需要將 C 程式連結到 C 標準庫。這可以透過修改編譯命令來完成,如下所示:
gcc info.C -lstdc++
-lstdc 標誌指示 GCC 將程式與標準 C 庫鏈接,其中包含缺失符號的定義。
替代方案:使用 g
或者,建議使用專用 C編譯器 g ,簡化了編譯過程。 g 理解 C 語言語義,並預設自動連結到 C 標準函式庫。
gcc 和g 之間的區別
正如Rup 在提供的答案中所解釋的,gcc根據檔案副檔名選擇後端編譯器,但預設僅連結到標準C 函式庫。另一方面,g 也根據擴展名選擇後端,但它會將 C 和 C 原始程式碼編譯為 C,並與 C 標準庫鏈接,而不管檔案副檔名如何。
以上是為什麼使用 GCC 編譯 C 時會出現連結器錯誤,如何修復這些錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!