gcc編譯選項


gcc編譯選項:
-I:指定頭文件路徑;如 gcc -I./include
-D:定義一個宏;如 gcc -DHAVE_CONFIG_H,定義宏HAVE_CONFIG_H
-Wall:開啟所有錯誤提示,可理解為warinig all
-g:編譯過程中保留調試信息,以便gdb能夠調試
-O2:指定編譯優化等級為2,optimization
-pipe:指定編譯過程中不同階段的通信使用pipe管道(有些編譯器無法讀取管道,目前GNU編譯器是ok的)
-Wp,-D_FORTIFY_SOURCE=2:將逗號分隔的選項傳遞給預處理器,其中FORTIFY_SOURCE選項用於指定在編譯時檢查緩沖區溢出的等級
-fexceptions:啟用異常處理,會產生額外的代碼用於處理異常,會占用一定量的數據空間(gcc默認為C++打開該選項,為C關閉該選項)
-fstack-protector:開啟棧保護檢測,防止緩沖區異常
--param=ssp-buffer-size=4:--param用於控制一些用於優化的常量,比如內聯函數的指令數量限制等,
ssp-buffer-size用於控制預防堆棧溢出的緩沖區的下限值,和-fstack-protector選項一同使用
-m64:指定生成64位的x86-64架構代碼
-mtune=generic:為指定的CPU架構優化代碼
-fPIC:生成位置無關的代碼,適用於動態鏈接
-fPIE:為可執行文件生成位置無關代碼
————————————————
版權聲明:本文為CSDN博主「Blue summer」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010039418/article/details/80455368


免責聲明!

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



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