首頁 > 後端開發 > C++ > 如何使用 GCC 和 ld 去除未使用的符號來減少執行檔的大小?

如何使用 GCC 和 ld 去除未使用的符號來減少執行檔的大小?

Susan Sarandon
發布: 2024-12-30 00:45:09
原創
439 人瀏覽過

How Can I Reduce Executable Size Using GCC and ld to Strip Unused Symbols?

剝離GCC 和ld 中未使用的符號以最佳化程式碼大小

最佳化執行檔大小至關重要,尤其是在資源有限的嵌入式環境。本文解決了使用 GCC 和 ld 從執行檔中刪除未使用的 C/C 符號的問題。

GCC 的 -fdata-sections 和 -ffunction-sections 標誌指示編譯器將程式碼分成翻譯單元內的不同部分。這可確保未使用的程式碼、資料和函數儲存在單獨的部分中。

編譯程式碼後,連結器會使用 --gc-sections 標誌刪除未引用的部分。此過程可確保僅使用的程式碼保留在最終的可執行檔中。例如,要從包含兩個函數(其中一個未使用)的名為test.cpp 的檔案中刪除未使用的符號,請使用以下命令進行編譯:

gcc -Os -fdata-sections -ffunction-sections test.cpp -o test -Wl,--gc-sections
登入後複製

-Os 標誌指示GCC優先考慮大小優化。

透過將這些技術合併到建置過程中,開發人員可以顯著減少可執行檔的大小,從而提高資源受限環境中的載入效能。

以上是如何使用 GCC 和 ld 去除未使用的符號來減少執行檔的大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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