【Linux/gcc系列】Gcc編譯鏈接選項的用法總結


Date: 2019-3-13


前言

    Gcc編譯器套件中包含了Linux程序編譯和鏈接的整個工具鏈,其中編譯和鏈接選項控制了編譯器和連接器的行為(比如打印輸出、警告等)。下面總結了項目中遇到的Gcc編譯鏈接選項的用法。

1、Gcc編譯鏈接選項的用法總結

(1)、gcc選項參數-D,-M以及makefile相關命令
(2)、makefile的override指示符與gcc -ldl選項作用
(3)、GCC的符號可見性——解決多個庫同名符號沖突問題
(4)、鏈接選項-L,-l,-rpath,-rpath-link用法分析
(5)、-Werror, -Wimplict-function-declaration, -w, -Wall
(6)、-D_REENTRANT編譯選項的作用
(7)、linux gcc編譯參數: -fPIC
(8)、創建動態庫時,建議使用的鏈接選項-Bsymbolic
(9)、GCC選項_-Wl,-soname
(10)、gcc編譯選項:-fomit-frame-pointer,-fno-tree-vectorize,-fno-strict-aliasing以及ARM相關選項
(11)、gcc編譯參數之-fno-strict-aliasing
(12)、gcc鏈接參數–whole-archive的作用
(13)、gcc選項含義:CFLAGS、CXXFLAGS、LDFLAGS與LIBS

2、未完待續…
2.1、編譯選項-Waggressive-loop-optimizations分析

參考網址:
https://stackoverflow.com/questions/41412118/compiling-postgresql-disable-fno-aggressive-loop-optimizations
https://blog.csdn.net/ljianhui/article/details/9212817

Gcc官方文檔解釋如下:
在這里插入圖片描述
在這里插入圖片描述

3、參考

gcc online docs: https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gcc.pdf


THE END!

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM