gcc編譯部分編譯選項
阿新 • • 發佈:2019-01-01
使用gcc命令顯示的幫助資訊
用法:gcc [選項] 檔案...
選項:
-pass-exit-codes 在某一階段退出時返回最高的錯誤碼
--help 顯示此幫助說明
--target-help 顯示目標機器特定的命令列選項
--help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]
顯示特定型別的命令列選項
--version 顯示編譯器版本資訊
-dumpspecs 顯示所有內建 spec 字串
-dumpversion 顯示編譯器的版本號
-dumpmachine 顯示編譯器的目標處理器
-print-search-dirs 顯示編譯器的搜尋路徑
-print-libgcc-file-name 顯示編譯器伴隨庫的名稱
-print-file-name=<庫> 顯示 <庫> 的完整路徑
-print-prog-name=<程式> 顯示編譯器元件 <程式> 的完整路徑
-print-multiarch Display the target's normalized GNU triplet, used as
a component in the library path
-print-multi-directory 顯示不同版本 libgcc 的根目錄
-print-multi-lib 顯示命令列選項和多個版本庫搜尋路徑間的對映
-print-multi-os-directory 顯示作業系統庫的相對路徑
-print-sysroot 顯示目標庫目錄
-print-sysroot-headers-suffix 顯示用於尋找標頭檔案的 sysroot 字尾
-Wa,<選項> 將逗號分隔的 <選項> 傳遞給彙編器
-Wp,<選項> 將逗號分隔的 <選項> 傳遞給前處理器
-Wl,<選項> 將逗號分隔的 <選項> 傳遞給連結器
-Xassembler <引數> 將 <引數> 傳遞給彙編器
-Xpreprocessor <引數> 將 <引數> 傳遞給前處理器
-Xlinker <引數> 將 <引數> 傳遞給連結器
-save-temps 不刪除中間檔案
-save-temps=<arg> 不刪除中間檔案
-no-canonical-prefixes 生成其他 gcc 元件的相對路徑時不生成規範化的
字首
-pipe 使用管道代替臨時檔案
-time 為每個子程序計時
-specs=<檔案> 用 <檔案> 的內容覆蓋內建的 specs 檔案
-std=<標準> 指定輸入原始檔遵循的標準
--sysroot=<目錄> 將 <目錄> 作為標頭檔案和庫檔案的根目錄
-B <目錄> 將 <目錄> 新增到編譯器的搜尋路徑中
-v 顯示編譯器呼叫的程式
-### 與 -v 類似,但選項被引號括住,並且不執行命令
-E 僅作預處理,不進行編譯、彙編和連結
-S 編譯到組合語言,不進行彙編和連結
-c 編譯、彙編到目的碼,不進行連結
-o <檔案> 輸出到 <檔案>
-pie Create a position independent executable
-shared Create a shared library
-x <語言> 指定其後輸入檔案的語言
允許的語言包括:c c++ assembler none
‘none’意味著恢復預設行為,即根據檔案的副檔名猜測
原始檔的語言
以 -g、-f、-m、-O、-W 或 --param 開頭的選項將由 gcc 自動傳遞給其呼叫的
不同子程序。若要向這些程序傳遞其他選項,必須使用 -W<字母> 選項。
下列選項只與特定語言相關 Ada:
找不到對應的選項。使用 --help=Ada 顯示 Ada 前端所支援的所有選項
下列選項只與特定語言相關 AdaSCIL:
找不到對應的選項。使用 --help=AdaSCIL 顯示 AdaSCIL 前端所支援的所有選項
下列選項只與特定語言相關 AdaWhy:
找不到對應的選項。使用 --help=AdaWhy 顯示 AdaWhy 前端所支援的所有選項
下列選項只與特定語言相關 C:
-lang-asm 此開關缺少可用文件
下列選項只與特定語言相關 C++:
找不到對應的選項。使用 --help=C++ 顯示 C++ 前端所支援的所有選項
下列選項只與特定語言相關 Fortran:
-J<目錄> 將 MODULE 檔案放入目錄
-Waliasing 為可能的虛參重疊給出警告
-Walign-commons 對 COMMON 塊對齊的警告
-Wampersand 若延續字元常量中缺少 & 則給出警告
-Warray-temporaries 建立臨時陣列時給出警告
-Wc-binding-type Warn if the type of a variable might be not
interoperable with C
-Wcharacter-truncation 對被截斷的字元表示式給出警告
-Wcompare-reals Warn about equality comparisons involving REAL or
COMPLEX expressions
-Wconversion-extra 對大多數隱式型別轉換給出警告
-Wextra 列印額外(可能您並不想要)的警告資訊
-Wfunction-elimination Warn about function call elimination
-Wimplicit-interface 對帶有隱式介面的呼叫給出警告
-Wimplicit-procedure 對沒有隱式宣告的過程呼叫給出警告
-Wintrinsic-shadow 如果使用者過程有與內建過程相同的名字則警告
-Wintrinsics-std 當內建函式不是所選標準的一部分時給出警告
-Wline-truncation 對被截斷的原始檔行給出警告
-Wreal-q-constant Warn about real-literal-constants with 'q'
exponent-letter
-Wrealloc-lhs Warn when a left-hand-side array variable is
reallocated
-Wrealloc-lhs-all Warn when a left-hand-side variable is reallocated
-Wsurprising 對“可疑”的構造給出警告
-Wtabs 允許使用不符合規範的製表符
-Wtarget-lifetime Warn if the pointer in a pointer assignment might
outlive its target
-Wunderflow 數字常量表達式下溢時警告
-Wunused-dummy-argument 對未使用的啞元給出警告。
-cpp 啟用預處理
-cpp= 此開關缺少可用文件
-faggressive-function-elimination Eliminate multiple function invokations
also for impure functions
-falign-commons 對齊 COMMON 塊
-fall-intrinsics 無論選擇何種標準,所有內建過程均可用
-fallow-leading-underscore 此開關缺少可用文件
-fautomatic 不把區域性變數 和 COMMON 塊如它們在
SAVE 語句中被命名那樣來處理
-fbackslash 指定字串中的反斜槓引入一個轉義字元
-fbacktrace 遇到執行時錯誤時列印函式呼叫回溯
-fblas-matmul-limit=<n> 使用 BLAS
進行矩陣乘法的矩陣大小下限
-fcheck-array-temporaries 對為過程引數而臨時建立的陣列產生一個執行時警告
-fcheck=[...] 指定要進行哪種執行時檢查
-fcoarray=[...] 指定要使用的集合陣列並行化
-fconvert=big-endian 為未格式化的檔案使用大端在前的格式
-fconvert=little-endian 為未格式化的檔案使用小端在前的格式
-fconvert=native 對未格式化的檔案,使用本地格式
-fconvert=swap 對未格式化的檔案,交換位元組次序
-fcray-pointer 使用 Cray 指標擴充套件
-fd-lines-as-code 在固定格式中忽略第一列的‘D’
-fd-lines-as-comments 將第一列為‘D’的行視作註釋
-fdefault-double-8 將預設雙精度種別設為 8 位元組寬
-fdefault-integer-8 將預設整數種別設為 8 位元組寬
-fdefault-real-8 將預設實型種別設為 8 位元組寬
-fdollar-ok 允許在實體名中使用美元符號
-fdump-core 不起作用。為向前相容保留的選項。
-fdump-fortran-optimized Display the code tree after front end optimization
-fdump-fortran-original 解析後顯示程式碼樹
-fdump-parse-tree Display the code tree after parsing; deprecated
option
-fexternal-blas 為大尺寸陣列呼叫 matmul
時應當使用一個外部 BLAS 庫
-ff2c 使用 f2c 呼叫約定
-ffixed-form 假定原始檔是固定格式的
-ffixed-line-length-<n> 在固定模式下以 n 作為字元行寬
-ffixed-line-length-none 在固定模式下允許任意的字元行寬
-ffpe-trap=[...] 在以下浮點異常的情況下停止
-ffree-form 假定原始檔是自由格式
-ffree-line-length-<n> 在自由模式下以 n 作為字元行寬
-ffree-line-length-none 在自由模式下允許任意的字元行寬
-ffrontend-optimize Enable front end optimization
-fimplicit-none 不允許使用隱式型別,除非顯式地使用了
IMPLICIT 語句
-finit-character=<n> 將區域性字元變數初始化 ASCII 值 n
-finit-integer=<n> 將區域性整數變數初始化為 n
-finit-local-zero 區域性變數初始化為零(與 g77 相同)
-finit-logical=<true|false> 初始化區域性邏輯變數
-finit-real=<zero|nan|inf|-inf> 初始化區域性實變數
-finteger-4-integer-8 Interpret any INTEGER(4) as an INTEGER(8)
-fintrinsic-modules-path 指定編譯好的內建模組的位置
-fintrinsic-modules-path= 指定編譯好的內建模組的位置
-fmax-array-constructor=<n> 一個數組建構函式中物件的最大數目
-fmax-identifier-length=<n> 識別符號的最大長度
-fmax-stack-var-size=<n> 以位元組大小表示的可以被放入堆疊的陣列的最大大小
-fmax-subrecord-length=<n> 子記錄的最大長度
-fmodule-private 將模組實體的預設訪問許可權設定為
PRIVATE。
-fpack-derived 為派生型別使用盡可能緊實的佈局
-fprotect-parens 尊重表示式中的括號
-frange-check 啟用編譯時範圍檢查
-freal-4-real-10 Interpret any REAL(4) as a REAL(10)
-freal-4-real-16 Interpret any REAL(4) as a REAL(16)
-freal-4-real-8 Interpret any REAL(4) as a REAL(8)
-freal-8-real-10 Interpret any REAL(8) as a REAL(10)
-freal-8-real-16 Interpret any REAL(8) as a REAL(16)
-freal-8-real-4 Interpret any REAL(8) as a REAL(4)
-frealloc-lhs 在賦值中重分配左值
-frecord-marker=4 對未格式化的檔案,使用一個 4
位元組的記錄標記
-frecord-marker=8 對未格式化的檔案,使用一個 8
位元組的記錄格式
-frecursive 在堆疊上分配區域性變數以允許間接遞迴
-frepack-arrays 在過程入口處將陣列段複製到一個連續的塊中
-fsecond-underscore 當名字已經包含一個下劃線時新增第二個下劃線
-fsign-zero 在零值前使用負號
-fstack-arrays Put all local arrays on stack.
-funderscoring 為外部可見的名字新增下劃線
-fwhole-file 立即編譯所有程式單元並檢查介面
-nocpp 禁用預處理
-static-libgfortran 靜態連結 GNU Fortran 助手庫(libgfortran)
-std=f2003 遵循 ISO Fortran 2003 標準
-std=f2008 遵循 ISO Fortran 2008 標準
-std=f2008ts Conform to the ISO Fortran 2008 standard
including TS 29113
-std=f95 遵循 ISO Fortran 95 標準
-std=gnu 不特別遵循任何標準
-std=legacy 接受一定的擴充套件以支援傳統的程式碼
下列選項只與特定語言相關 Go:
-L 此開關缺少可用文件
-fgo-check-divide-overflow Add explicit checks for division overflow in
INT_MIN / -1
-fgo-check-divide-zero Add explicit checks for division by zero
-fgo-dump-<type> Dump Go frontend internal information
-fgo-optimize-<type> Turn on optimization passes in the frontend
-fgo-pkgpath=<string> Set Go package path
-fgo-prefix=<string> Set package-specific prefix for exported Go names
-fgo-relative-import-path= -fgo-relative-import-path=<path> Treat a relative
import as relative to path
-frequire-return-statement Functions which return values must end with
return statements
下列選項只與特定語言相關 Java:
--CLASSPATH 此開關缺少可用文件
--bootclasspath 此開關缺少可用文件
--classpath 此開關缺少可用文件
--encoding 此開關缺少可用文件
--extdirs 此開關缺少可用文件
--output-class-directory 此開關缺少可用文件
--output-class-directory= 此開關缺少可用文件
--resource 此開關缺少可用文件
--resource= 此開關缺少可用文件
-CLASSPATH 此開關缺少可用文件
-MD_ 此開關缺少可用文件
-MMD_ 此開關缺少可用文件
-Wall-deprecation 此開關缺少可用文件
-Wall-javadoc 此開關缺少可用文件
-Wassert-identifier 此開關缺少可用文件
-Wboxing 此開關缺少可用文件
-Wchar-concat 此開關缺少可用文件
-Wcondition-assign 此開關缺少可用文件
-Wconstructor-name 此開關缺少可用文件
-Wdep-ann 此開關缺少可用文件
-Wdiscouraged 此開關缺少可用文件
-Wempty-block 此開關缺少可用文件
-Wenum-identifier 此開關缺少可用文件
-Wenum-switch 此開關缺少可用文件
-Wextraneous-semicolon 發現不建議使用的空語句時給出警告
-Wfallthrough 此開關缺少可用文件
-Wfield-hiding 此開關缺少可用文件
-Wfinal-bound 此開關缺少可用文件
-Wfinally 此開關缺少可用文件
-Wforbidden 此開關缺少可用文件
-Whiding 此開關缺少可用文件
-Windirect-static 此開關缺少可用文件
-Wintf-annotation 此開關缺少可用文件
-Wintf-non-inherited 此開關缺少可用文件
-Wjavadoc 此開關缺少可用文件
-Wlocal-hiding 此開關缺少可用文件
-Wmasked-catch-block 此開關缺少可用文件
-Wnls 此開關缺少可用文件
-Wno-effect-assign 此開關缺少可用文件
-Wnull 此開關缺少可用文件
-Wout-of-date 當 .class 檔案已過時時給出警告
-Wover-ann 此開關缺少可用文件
-Wparam-assign 此開關缺少可用文件
-Wpkg-default-method 此開關缺少可用文件
-Wraw 此開關缺少可用文件
-Wredundant-modifiers 當指定了不必須的修飾符時給出警告
-Wserial 此開關缺少可用文件
-Wspecial-param-hiding 此開關缺少可用文件
-Wstatic-access 此開關缺少可用文件
-Wstatic-receiver 此開關缺少可用文件
-Wsuppress 此開關缺少可用文件
-Wsynthetic-access 此開關缺少可用文件
-Wtasks 此開關缺少可用文件
-Wtype-hiding 此開關缺少可用文件
-Wuncheck 此開關缺少可用文件
-Wunnecessary-else 此開關缺少可用文件
-Wunqualified-field 此開關缺少可用文件
-Wunused-argument 此開關缺少可用文件
-Wunused-import 此開關缺少可用文件
-Wunused-label 有未使用的標號時警告
-Wunused-local 此開關缺少可用文件
-Wunused-private 此開關缺少可用文件
-Wunused-thrown 此開關缺少可用文件
-Wuseless-type-check 此開關缺少可用文件
-Wvarargs-cast 此開關缺少可用文件
-Wwarning-token 此開關缺少可用文件
-bootclasspath 此開關缺少可用文件
-classpath 此開關缺少可用文件
-encoding 此開關缺少可用文件
--CLASSPATH 不建議使用;請改用 --classpath
-fassert 允許使用 assert 關鍵字
-fassume-compiled 此開關缺少可用文件
-fassume-compiled= 此開關缺少可用文件
-faux-classpath 此開關缺少可用文件
--bootclasspath=<路徑> 替換系統路徑
-fbootstrap-classes 生成的類可被自舉載入
-fcheck-references 檢查指向 NULL 的引用
--classpath=<路徑> 設定類路徑
-fcompile-resource= 此開關缺少可用文件
-fdisable-assertions 此開關缺少可用文件
-fdisable-assertions= 此開關缺少可用文件
-femit-class-file 輸出一個 class 檔案
-femit-class-files -fmit-class-file 的別名
-fenable-assertions 此開關缺少可用文件
-fenable-assertions= 此開關缺少可用文件
--encoding=<編碼> 選擇輸入編碼(預設來自您的區域選項)
--extdirs=<路徑> 設定擴充套件目錄
-ffilelist-file 輸入檔案是一個檔名列表,指定了需要編譯的檔案
-fforce-classes-archive-check 總是檢查非 gcj 生成的類文件
-fhash-synchronization 假定執行時使用一張散列表完成從物件到其同步結構的對映
-findirect-classes 在執行時生成類的例項
-findirect-dispatch 為虛方法呼叫使用偏移表
-finline-functions Integrate functions not declared "inline" into
their callers when profitable
-fjni 假定本地函式使用 JNI 實現
-foptimize-static-class-initialization 啟用靜態類初始程式碼優化
-foutput-class-dir= 此開關缺少可用文件
-freduced-reflection 減少生成的反射元資料
-fsaw-java-file 此開關缺少可用文件
-fsource-filename= 此開關缺少可用文件
-fsource= 設定源語言版本
-fstore-check 儲存到物件陣列時進行可賦值性檢查
-ftarget= 指定目標虛擬機器的版本
-fuse-atomic-builtins 為內建原子操作生成程式碼
-fuse-boehm-gc 為 Boehm 生成程式碼
-fuse-divide-subroutine 呼叫一個庫子程式來完成整數除法
-version 顯示編譯器版本
下列選項只與特定語言相關 LTO:
-fltrans 在區域性轉化(LTRANS)模式下執行連結時優化器。
-fltrans-output-list= 指定存放 LTRANS
輸出的檔案列表的檔案。
-fresolution= 符號解析檔案
-fwpa 在全程式分析(WPA)模式下執行連結時優化器。
下列選項只與特定語言相關 ObjC:
找不到對應的選項。使用 --help=ObjC 顯示 ObjC 前端所支援的所有選項
下列選項只與特定語言相關 ObjC++:
-fobjc-call-cxx-cdtors 如果需要,生成特殊的 Objective-C
方法來初始化/析構非簡單舊資料 C++
變數
下列選項與語言相關:
--all-warnings 此開關缺少可用文件
--ansi 此開關缺少可用文件
--assert 此開關缺少可用文件
--assert= 此開關缺少可用文件
--comments 此開關缺少可用文件
--comments-in-macros 此開關缺少可用文件
--define-macro 此開關缺少可用文件
--define-macro= 此開關缺少可用文件
--dependencies 此開關缺少可用文件
--dump 此開關缺少可用文件
--dump= 此開關缺少可用文件
--imacros 此開關缺少可用文件
--imacros= 此開關缺少可用文件
--include 此開關缺少可用文件
--include-barrier 此開關缺少可用文件
--include-directory 此開關缺少可用文件
--include-directory-after 此開關缺少可用文件
--include-directory-after= 此開關缺少可用文件
--include-directory= 此開關缺少可用文件
--include-prefix 此開關缺少可用文件
--include-prefix= 此開關缺少可用文件
--include-with-prefix 此開關缺少可用文件
--include-with-prefix-after 此開關缺少可用文件
--include-with-prefix-after= 此開關缺少可用文件
--include-with-prefix-before 此開關缺少可用文件
--include-with-prefix-before= 此開關缺少可用文件
--include-with-prefix= 此開關缺少可用文件
--include= 此開關缺少可用文件
--no-line-commands 此開關缺少可用文件
--no-standard-includes 此開關缺少可用文件
--no-standard-libraries 此開關缺少可用文件
--no-warnings 此開關缺少可用文件
--output 此開關缺少可用文件
--output-pch= 此開關缺少可用文件
--output= 此開關缺少可用文件
--pedantic 此開關缺少可用文件
--preprocess 此開關缺少可用文件
--print-missing-file-dependencies 此開關缺少可用文件
--trace-includes 此開關缺少可用文件
--traditional-cpp 此開關缺少可用文件
--trigraphs 此開關缺少可用文件
--undefine-macro 此開關缺少可用文件
--undefine-macro= 此開關缺少可用文件
--user-dependencies 此開關缺少可用文件
--verbose 此開關缺少可用文件
--write-dependencies 此開關缺少可用文件
--write-user-dependencies 此開關缺少可用文件
-A<問題>=<答案> 給出問題的答案。在問題前加一個‘-’將禁用其答案
-C 不丟棄註釋
-CC 展開巨集時不丟棄註釋
-D<巨集>[=<值>] 將巨集定義為值。如果只給出了巨集,值將被定為
1
-E 此開關缺少可用文件
-F <目錄> 將目錄新增至主框架包含路徑的末尾
-H 列印使用到的標頭檔案名
-I <目錄> 將目錄新增至主包含路徑末尾
-M 生成 make 依賴項
-MD 生成 make 依賴規則並編譯
-MF <檔案> 將依賴項輸出到給定檔案
-MG 將缺失的標頭檔案看作生成的檔案
-MM 與 -M 類似但是忽略系統標頭檔案
-MMD 與 -MD 類似但是忽略系統標頭檔案
-MP 為所有標頭檔案生成偽目標
-MQ <目標> 新增一個 MAKE 括起的目標
-MT <目標> 新增一個不被括起的目標
-P 不生成 #line 指令
-U<巨集> 取消定義巨集
-Wabi 當結果與 ABI
相容的編譯器的編譯結果不同時給出警告
-Wabi-tag Warn if a subobject has an abi_tag attribute that
the complete object type does not have
-Waddress 使用可疑的記憶體地址時給出警告
-Wall 啟用大部分警告資訊
-Wassign-intercept 當 Objective-C
賦值可能為垃圾回收所介入時給出警告
-Wbad-function-cast 當把函式轉換為不相容型別時給出警告
-Wbuiltin-macro-redefined 當內建預處理巨集未定義或重定義時給出警告
-Wc++-compat 當在 C 語言中使用了 C 與 C++
交集以外的構造時給出警告
-Wc++0x-compat Deprecated in favor of -Wc++11-compat
-Wc++11-compat Warn about C++ constructs whose meaning differs
between ISO C++ 1998 and ISO C++ 2011
-Wcast-qual 當型別轉換丟失限定資訊時給出警告
-Wchar-subscripts 當下標型別為“char”時給出警告
-Wclobbered 對能為"longjmp"或"vfork"所篡改的變數給出警告
-Wcomment 對可能巢狀的註釋和長度超過一個物理行長的
C++ 註釋給出警告
-Wcomments -Wcomment 的同義詞
-Wconversion 當隱式型別轉換可能改變值時給出警告
-Wconversion-null 將 NULL 轉換為非指標型別時給出警告
-Wctor-dtor-privacy 當所有建構函式和解構函式都是私有時給出警告
-Wdeclaration-after-statement 當宣告出現在語句後時給出警告
-Wdelete-non-virtual-dtor Warn about deleting polymorphic objects with non-
virtual destructors
-Wdeprecated 使用不建議的編譯器特性、類、方法或欄位時給出警告
-Wdiv-by-zero 對編譯時發現的零除給出警告
-Wdouble-promotion 對從“float”到“double”的隱式轉換給出警告
-Weffc++ 對不遵循《Effetive
C++》的風格給出警告
-Wempty-body 當 if 或 else 語句體為空時給出警告
-Wendif-labels 當 #elif 和 #endif
後面跟有其他識別符號時給出警告
-Wenum-compare 對不同列舉型別之間的比較給出警告
-Werror 所有的警告都當作是錯誤
-Werror-implicit-function-declaration 不建議使用此開關;請改用
-Werror=implicit-function-declaration
-Wfloat-equal 當比較浮點數是否相等時給出警告
-Wformat 對 printf/scanf/strftime/strfmon
中的格式字串異常給出警告
-Wformat-contains-nul 當格式字串包含 NUL 位元組時給出警告
-Wformat-extra-args 當傳遞給格式字串的引數太多時給出警告
-Wformat-nonliteral 當格式字串不是字面值時給出警告
-Wformat-security 當使用格式字串的函式可能導致安全問題時給出警告
-Wformat-y2k 當 strftime 格式給出 2
位記年時給出警告
-Wformat-zero-length 對長度為 0 的格式字串給出警告
-Wformat= 對 printf/scanf/strftime/strfmon
中的格式字串異常給出警告
-Wignored-qualifiers 當型別限定符被忽略時給出警告。
-Wimplicit 對隱式函式宣告給出警告
-Wimplicit-function-declaration 對隱式函式宣告給出警告
-Wimplicit-int 當宣告未指定型別時給出警告
-Wimport 此開關缺少可用文件
-Winherited-variadic-ctor Warn about C++11 inheriting constructors when the
base has a variadic constructor
-Winit-self 對初始化為自身的變數給出警告。
-Wint-to-pointer-cast 當將一個大小不同的整數轉換為指標時給出警告
-Winvalid-offsetof 對“offsetof”巨集無效的使用給出警告
-Winvalid-pch 在找到了 PCH
檔案但未使用的情況給出警告
-Wjump-misses-init 當跳轉略過變數初始化時給出警告
-Wliteral-suffix Warn when a string or character literal is
followed by a ud-suffix which does not begin with
an underscore.
-Wlogical-op 當邏輯操作結果似乎總為真或假時給出警告
-Wlong-long 當使用 -pedantic 時不對“long
long”給出警告
-Wmain 對可疑的“main”宣告給出警告
-Wmaybe-uninitialized Warn about maybe uninitialized automatic variables
-Wmissing-braces 若初始值設定項中可能缺少花括號則給出警告
-Wmissing-declarations 當全域性函式沒有前向宣告時給出警告
-Wmissing-field-initializers 若結構初始值設定項中缺少欄位則給出警告
-Wmissing-format-attribute 此開關缺少可用文件
-Wmissing-include-dirs 當用戶給定的包含目錄不存在時給出警告
-Wmissing-parameter-type K&R
風格函式引數宣告中未指定型別限定符時給出警告
-Wmissing-prototypes 全域性函式沒有原型時給出警告
-Wmudflap 當構造未被 -fmudflap 處理時給出警告
-Wmultichar 使用多位元組字符集的字元常量時給出警告
-Wnarrowing Warn about narrowing conversions within { } that
are ill-formed in C++11
-Wnested-externs 當“extern”宣告不在檔案作用域時給出警告
-Wnoexcept Warn when a noexcept expression evaluates to
false even though the expression can't actually
throw
-Wnon-template-friend 在模板內宣告未模板化的友元函式時給出警告
-Wnon-virtual-dtor 當解構函式不是虛擬函式時給出警告
-Wnonnull 當將 NULL 傳遞給需要非 NULL
的引數的函式時給出警告
-Wnormalized=<id|nfc|nfkc> 對未歸一化的 Unicode 字串給出警告
-Wold-style-cast 程式使用 C
風格的型別轉換時給出警告
-Wold-style-declaration 對宣告中的過時用法給出警告
-Wold-style-definition 使用舊式形參定義時給出警告
-Woverlength-strings 當字串長度超過標準規定的可移植的最大長度時給出警告
-Woverloaded-virtual 過載虛擬函式名時給出警告
-Woverride-init 覆蓋無副作用的初始值設定時給出警告
-Wpacked-bitfield-compat 當緊實位段的偏移量因 GCC 4.4
而改變時給出警告
-Wparentheses 可能缺少括號的情況下給出警告
-Wpedantic 給出標準指定的所有警告資訊
-Wpmf-conversions 當改變成員函式指標的型別時給出警告
-Wpointer-arith 當在算術表示式中使用函式指標時給出警告
-Wpointer-sign 賦值時如指標符號不一致則給出警告
-Wpointer-to-int-cast 將一個指標轉換為大小不同的整數時給出警告
-Wpragmas 對錯誤使用的 pragma 加以警告
-Wproperty-assign-default Warn if a property for an Objective-C object has
no assign semantics specified
-Wprotocol 當繼承來的方法未被實現時給出警告
-Wpsabi 此開關缺少可用文件
-Wredundant-decls 對同一個物件多次宣告時給出警告
-Wreorder 編譯器將程式碼重新排序時給出警告
-Wreturn-local-addr Warn about returning a pointer/reference to a
local or temporary variable.
-Wreturn-type 當 C
函式的返回值預設為“int”,或者 C++
函式的返回型別不一致時給出警告
-Wselector 當選擇子有多個方法時給出警告
-Wsequence-point 當可能違反定序點規則時給出警告
-Wsign-compare 在有符號和無符號數間進行比較時給出警告
-Wsign-conversion 為有符號和無符號整數間的隱式型別轉換給出警告
-Wsign-promo 當過載將無符號數提升為有符號數時給出警告
-Wsizeof-pointer-memaccess 此開關缺少可用文件
-Wstrict-aliasing= 當代碼可能破壞強重疊規則時給出警告
-Wstrict-null-sentinel 將未作轉換的 NULL
用作哨兵時給出警告
-Wstrict-overflow= 禁用假定有符號數溢位行為未被定義的優化
-Wstrict-prototypes 使用了非原型的函式宣告時給出警告
-Wstrict-selector-match 當備選方法的型別簽字不完全匹配時給出警告
-Wsuggest-attribute=format 當函式可能是 format
屬性的備選時給出警告
-Wswitch 當使用列舉型別作為開關變數,沒有提供
default 分支,但又缺少某個 case
時給出警告
-Wswitch-default 當使用列舉型別作為開關變數,但沒有提供“default”分支時給出警告
-Wswitch-enum 當使用列舉型別作為開關變數但又缺少某個
case 時給出警告
-Wsync-nand 當 __sync_fetch_and_nand 和
__sync_nand_and_fetch
內建函式被使用時給出警告
-Wsynth 不建議使用。此開關不起作用。
-Wsystem-headers 不抑制系統標頭檔案中的警告
-Wtraditional 使用了傳統 C
不支援的特性時給出警告
-Wtraditional-conversion 原型導致的型別轉換與無原型時的型別轉換不同時給出警告
-Wtrigraphs 當三字母序列可能影響程式意義時給出警告
-Wundeclared-selector 當使用 @selector()
卻不作事先宣告時給出警告
-Wundef 當 #if
指令中用到未定義的巨集時給出警告
-Wuninitialized 自動變數未初始化時警告
-Wunknown-pragmas 對無法識別的 pragma 加以警告
-Wunsuffixed-float-constants 對不帶字尾的浮點常量給出警告
-Wunused 啟用所有關於“XX未使用”的警告
-Wunused-local-typedefs Warn when typedefs locally defined in a function
are not used
-Wunused-macros 當定義在主檔案中的巨集未被使用時給出警告
-Wunused-result 當一個帶有 warn_unused_result
屬性的函式的呼叫者未使用前者的返回值時給出警告
-Wuseless-cast Warn about useless casts
-Wvarargs Warn about questionable usage of the macros used
to retrieve variable arguments
-Wvariadic-macros Warn about using variadic macros
-Wvirtual-move-assign Warn if a virtual base has a non-trivial move
assignment operator
-Wvla 使用變長陣列時警告
-Wvolatile-register-var 當一個暫存器變數被宣告為 volatile
時給出警告
-Wwrite-strings 在 C++
中,非零值表示將字面字串轉換為‘char
*’時給出警告。在 C
中,給出相似的警告,但這種型別轉換是符合
ISO C 標準的。
-Wzero-as-null-pointer-constant Warn when a literal '0' is used as null
pointer
-ansi -std=c89 (對 C 來說) 或 -std=c++98 (對 C++
來說)的同義詞
-d<字母> 為指定的某趟匯譯啟用記憶體轉儲
-fRTS= Select the runtime
-faccess-control 執行類成員訪問控制語義
-fada-spec-parent= -fada-spec-parent=unit Dump Ada specs as child
units of given parent
-fall-virtual 此開關缺少可用文件
-fallow-parameterless-variadic-functions Allow variadic functions without
named parameter
-falt-external-templates 不再受支援
-fasm 識別“asm”關鍵字
-fbuilding-libgcc 此開關缺少可用文件
-fbuiltin 識別內建函式
-fbuiltin- 此開關缺少可用文件
-fcanonical-system-headers Where shorter, use canonicalized paths to systems
headers.
-fcheck-new 檢查 new 的返回值
-fcond-mismatch 允許‘?’運算子的引數有不同的型別
-fconserve-space 不起作用。為向前相容保留的選項。
-fconst-string-class=<名字> 使用名字作為常量字串類的名稱
-fconstexpr-depth=<number> Specify maximum constexpr recursion depth
-fdebug-cpp Emit debug annotations during preprocessing
-fdeduce-init-list enable deduction of std::initializer_list for a
template type parameter from a brace-enclosed
initializer-list
-fdefault-inline 不起作用。為向前相容保留的選項。
-fdirectives-only 僅預處理指示。
-fdollars-in-identifiers 允許‘$’作為識別符號的一部分
-fdump-ada-spec Write all declarations as Ada code transitively
-fdump-ada-spec-slim Write all declarations as Ada code for the given
file only
-felide-constructors 此開關缺少可用文件
-femit-struct-debug-baseonly 積極地縮減結構體的除錯資訊
-femit-struct-debug-detailed=<規格列表> 詳細指定如何縮減結構體的除錯資訊
-femit-struct-debug-reduced 保守地縮減結構體的除錯資訊
-fenforce-eh-specs 生成檢查異常規範的程式碼
-fenum-int-equiv 此開關缺少可用文件
-fexec-charset=<字符集> 將所有字串和字元常量轉換到字符集
-fext-numeric-literals Interpret imaginary, fixed-point, or other gnu
number suffix as the corresponding number literal
rather than a user-defined number literal.
-fextended-identifiers 允許識別符號中出現 Unicode 字元名(\u 和
\U)
-fextern-tls-init Support dynamic initialization of thread-local
variables in a different translation unit
-fexternal-templates 此開關缺少可用文件
-ffor-scope for
迴圈初始化中定義的變數作用域侷限於迴圈內
-ffreestanding 不假定標準 C 庫和“main”存在
-ffriend-injection 將友元函式宣告視作包含它的名稱空間中的有效宣告
-fgnu-keywords 識別 GNU 定義的關鍵字
-fgnu-runtime 為 GNU 執行時環境生成程式碼
-fgnu89-inline 為行內函數使用傳統的 GNU 語義
-fguiding-decls 此開關缺少可用文件
-fhandle-exceptions 此開關缺少可用文件
-fhonor-std 此開關缺少可用文件
-fhosted 假定一般的 C 執行環境
-fhuge-objects 不再受支援
-fimplement-inlines 匯出被內聯的函式
-fimplicit-inline-templates 允許內聯模板隱式例項化
-fimplicit-templates 允許模板隱式例項化
-finput-charset=<字符集> 指定原始碼的預設字符集
-fkeep-inline-dllexport 除非必需,不生成 DLL 匯出的行內函數
-flabels-ok 此開關缺少可用文件
-flax-vector-conversions 允許具有不同元素數量和/或元素型別的向量間的轉換
-fms-extensions 使用微軟擴充套件時不給出警告
-fmudflap 為單執行緒程式新增 mudflap 邊界檢查
-fmudflapir 插入 mudflag 時忽略讀操作
-fmudflapth 為多執行緒程式新增 mudflap 邊界檢查
-fname-mangling-version- 此開關缺少可用文件
-fnew-abi 此開關缺少可用文件
-fnext-runtime 為 NeXT (蘋果 Mac OS X)
執行時環境生成程式碼
-fnil-receivers 假定 Objective-C 訊息的接受者可能是 nil
-fnonansi-builtins 此開關缺少可用文件
-fnonnull-objects 此開關缺少可用文件
-fnothrow-opt Treat a throw() exception specification as
noexcept to improve code size
-fobjc-abi-version= Specify which ABI to use for Objective-C family
code and meta-data generation.
-fobjc-direct-dispatch 允許快速跳轉至訊息分發者
-fobjc-exceptions 啟用 Objective-C 異常和同步語法
-fobjc-gc 在 Objective-C/Objective-C++
程式中啟用垃圾收集
-fobjc-nilcheck Enable inline checks for nil receivers with the
NeXT runtime and ABI version 2.
-fobjc-sjlj-exceptions 啟用 Objective-C setjmp 異常處理執行時
-fobjc-std=objc1 Conform to the Objective-C 1.0 language as
implemented in GCC 4.0
-fopenmp 啟用 OpenMP(對 Fortran 而言也同時設定
-frecursive)
-foperator-names 識別“compl”、“xor”等 C++ 關鍵詞
-foptional-diags 不起作用。為向前相容保留的選項。
-fpch-deps 此開關缺少可用文件
-fpch-preprocess 即使在預處理時也搜尋並使用 PCH 檔案
-fpermissive 將相容性錯誤降格為警告
-fplan9-extensions 啟用九號計劃語言擴充套件
-fpreprocessed 將輸入檔案當作已經預處理過的
-fpretty-templates -fno-pretty-templates
不使用模板簽名加實參的方式美化模板特例化的列印
-freplace-objc-classes 指定物件檔案可能在執行時被換入以允許“修復並繼續”除錯模式
-frepo 啟用模板自動例項化
-frtti 生成執行時型別描述資訊
-fshort-double 令 double 使用 float 的大小
-fshort-enums 為列舉型別使用盡可能窄的整數型別
-fshort-wchar 強制指定“wchar_t”的內在型別為“unsigned
short”
-fsigned-bitfields 沒有給定“signed”或“unsigned”時將位段視作有符號的
-fsigned-char 使“char”型別預設為有符號
-fsquangle 此開關缺少可用文件
-fstats 顯示編譯過程中累計的統計數字
-fstrict-enums Assume that values of enumeration type are always
within the minimum range of that type
-fstrict-prototype 此開關缺少可用文件
-ftabstop=<N> 指定報告列號時製表位間的距離
-ftemplate-backtrace-limit= Set the maximum number of template instantiation
notes for a single warning or error
-ftemplate-depth- 此開關缺少可用文件
-ftemplate-depth=<N> 指定模板例項化的最大深度
-fthis-is-variable 此開關缺少可用文件
-fno-threadsafe-statics 不為區域性靜態變數生成執行緒安全的初始化程式碼
-ftrack-macro-expansion 此開關缺少可用文件
-ftrack-macro-expansion= -ftrack-macro-expansion=<0|1|2> Track locations
of tokens coming from macro expansion and display
them in error messages
-funsigned-bitfields 未指定“signed”或“unsigned”時預設位段為無符號的
-funsigned-char 使“char”型別預設為無符號
-fuse-cxa-atexit 將 __cxa_atexit 而非 atexit
登記為解構函式
-fuse-cxa-get-exception-ptr 在異常處理中使用 __cxa_get_exception_ptr
-fvisibility-inlines-hidden Marks all inlined functions and methods as having
hidden visibility
-fvisibility-ms-compat 預設使用與 Microsoft Visual Studio
匹配的可見性
-fvtable-gc 不再受支援
-fvtable-thunks 不再受支援
-fweak 將公共符號視作弱符號
-finput-charset=<字符集> 將所有寬字串和字元常量都轉換為字符集
-fworking-directory 生成一個指向當前工作目錄的 #line
預處理指令
-fxref 不再受支援
-fzero-link 為 Zero-Link 模式生成後期類查詢(通過
objc_getClass())
-gant Catch typos
-gen-decls 將宣告轉儲到一個 .decl 檔案中
-gnat<選項> 指定給 GNAT 的選項
-gnatO Set name of output ALI file (internal switch)
-idirafter <目錄> 將目錄新增至系統包含路徑末尾
-imacros <檔案> 接受檔案中定義的巨集
-imultilib <目錄> 將目錄設定為 multilib 的包含子目錄
-include <檔案> 在包含其它檔案之前先包含該檔案的內容
-iprefix <路徑> 將路徑指定為下兩個選項的字首
-iquote <目錄> 將目錄新增至括起的包含路徑末尾
-isysroot <目錄> 將目錄設為系統根目錄
-isystem <目錄> 將目錄新增至系統包含路徑開頭
-iwithprefix <目錄> 將目錄新增至系統包含路徑末尾
-iwithprefixbefore <目錄> 將目錄新增至主包含路徑末尾
-nostdinc 不搜尋標準系統標頭檔案目錄(但仍將使用由
-isystem 指定的目錄)
-nostdinc++ 不搜尋 C++ 標準系統標頭檔案目錄
-nostdlib Do not look for object files in standard path
-o <檔案> 將輸出寫入檔案
-pedantic 此開關缺少可用文件
-print-objc-runtime-info 生成有平臺相關特性的 C 標頭檔案
-remap 包含檔案時對映短檔名
-std=c++03 Conform to the ISO 1998 C++ standard revised by
the 2003 technical corrigendum
-std=c++0x Deprecated in favor of -std=c++11
-std=c++11 Conform to the ISO 2011 C++ standard
(experimental and incomplete support)
-std=c++1y Conform to the ISO 201y(7?) C++ draft standard
(experimental and incomplete support)
-std=c++98 Conform to the ISO 1998 C++ standard revised by
the 2003 technical corrigendum
-std=c11 Conform to the ISO 2011 C standard (experimental
and incomplete support)
-std=c1x Deprecated in favor of -std=c11
-std=c89 遵循 ISO 1990 C 標準
-std=c90 遵循 ISO 1990 C 標準
-std=c99 遵循 ISO 1999 C 標準
-std=c9x 不建議使用,請改用 -std=c99
-std=gnu++03 Conform to the ISO 1998 C++ standard revised by
the 2003 technical corrigendum with GNU extensions
-std=gnu++0x Deprecated in favor of -std=gnu++11
-std=gnu++11 Conform to the ISO 2011 C++ standard with GNU
extensions (experimental and incomplete support)
-std=gnu++1y Conform to the ISO 201y(7?) C++ draft standard
with GNU extensions (experimental and incomplete
support)
-std=gnu++98 Conform to the ISO 1998 C++ standard revised by
the 2003 technical corrigendum with GNU extensions
-std=gnu11 Conform to the ISO 2011 C standard with GNU
extensions (experimental and incomplete support)
-std=gnu1x Deprecated in favor of -std=gnu11
-std=gnu89 遵循 ISO 1990 C 標準,也支援 GNU 擴充套件
-std=gnu90 遵循 ISO 1990 C 標準,也支援 GNU 擴充套件
-std=gnu99 遵循 ISO 1999 C 標準,也支援 GNU 擴充套件
-std=gnu9x 不建議使用,請改用 -std=gnu99
-std=iso9899:1990 遵循 ISO 1990 C 標準
-std=iso9899:199409 遵循 ISO 1990 C 標準於 1994
年修訂的版本
-std=iso9899:1999 遵循 ISO 1999 C 標準
-std=iso9899:199x 不建議使用,為 -std=iso9899:1999 所取代
-std=iso9899:2011 Conform to the ISO 2011 C standard (experimental
and incomplete support)
-traditional-cpp 啟用傳統預處理
-trigraphs 支援 ISO C 三元符
-undef 不預定義系統或 GCC 特定的巨集
-v 啟用詳細輸出
-w 不顯示警告
--param 選項可接受以下引數:
predictable-branch-outcome 被認為可以預測的分支的最大估算結果
inline-min-speedup The minimal estimated speedup allowing inliner to
ignore inline-insns-single and inline-isnsns-auto
max-inline-insns-single 單個可內聯的函式體最多能包含的指令數
max-inline-insns-auto 自動內聯時指令的最大數量
max-inline-insns-recursive 由於巢狀內聯造成的行內函數程式碼膨脹的上限值(指令數)
max-inline-insns-recursive-auto 由於巢狀內聯造成的非行內函數程式碼膨脹的上限值(指令數)
max-inline-recursive-depth 行內函數中巢狀內聯的最大深度
max-inline-recursive-depth-auto 非行內函數中巢狀內聯的最大深度
min-inline-recursive-probability 僅當被執行的呼叫的概率超過此引數時方進行遞迴地內聯
max-early-inliner-iterations 早期內聯器可以進行的巢狀間接內聯的最大數量
comdat-sharing-probability Probability that COMDAT function will be shared
with different compilation unit
partial-inlining-entry-probability 進行部分內聯時分離區域入口基本塊佔函式入口基本塊的百分比概率的上限
max-variable-expansions-in-unroller 如果使用了 -fvariable-expansion-in-
unroller,即指單個變數在迴圈展開時可以同時被展開的次數
min-vect-loop-bound 使用 -ftree-vectorize
時考慮進行向量化的迴圈次數下限
max-delay-slot-insn-search 考慮填充入延遲槽中的最大指令數
max-delay-slot-live-search 用以發現準確的活動暫存器資訊的最大指令數量
max-pending-list-length 排程候選操作列表的最大長度
max-modulo-backtrack-attempts The maximum number of backtrack attempts the
scheduler should make when modulo scheduling a
loop
large-function-insns 超過這個大小的函式體被認為是大的
large-function-growth 內聯大函式造成的程式碼膨脹的上限(以百分數的形式給出)
large-unit-insns 超過這個大小的翻譯單元被認為是大的
inline-unit-growth 給定的編譯單元因內聯造成的體積膨脹上限(以百分數表示)
ipcp-unit-growth 給定的編譯單元因跨程序常量傳遞造成的編譯單元體積膨脹上限(以百分數表示)
early-inlining-insns 對單個呼叫進行的早期內聯所導致的函式體程式碼膨脹的最大估計值
large-stack-frame 超過這個大小的棧幀被認為是大的
large-stack-frame-growth 內聯造成的棧幀膨脹的上限(以百分數的形式給出)
max-gcse-memory GCSE 可分配的最大記憶體量
max-gcse-insertion-ratio The maximum ratio of insertions to deletions of
expressions in GCSE
gcse-after-reload-partial-fraction 重新載入後進行部分冗餘消除的比例閾值
gcse-after-reload-critical-fraction 重新載入後允許進行冗餘消除的關鍵邊執行次數的比例閾值
gcse-cost-distance-ratio 計算一個表示式被 GCSE
優化移動的最大距離時的比例因子
gcse-unrestricted-cost 指定 GCSE
優化不約束一個表示式能被移動的距離時的代價
max-hoist-depth Maximum depth of search in the dominator tree for
expressions to hoist
max-unrolled-insns 單個迴圈中考慮展開的最大指令數
max-average-unrolled-insns 單個迴圈中考慮展開的平均最大指令數
max-unroll-times 單個迴圈最多可以被展開的次數
max-peeled-insns 剝離後的迴圈所能有的最大指令數
max-peel-times 單個迴圈最大的剝離數
max-peel-branches The maximum number of branches on the path
through the peeled sequence
max-completely-peeled-insns 一個完全剝離的迴圈所能有的最大指令數
max-completely-peel-times 一個完全剝離的單個迴圈最大的剝離數
max-once-peeled-insns 被剝離後只卷繞一次的迴圈包含的最多指令數
max-completely-peel-loop-nest-depth 一個完全剝離的迴圈巢狀所能有的最大深度
max-unswitch-insns 去開關後的迴圈所能有的最大指令數
max-unswitch-level 單個迴圈中考慮去開關的最大指令數
max-iterations-to-track 暴力迭代次數分析演算法評估迭代次數的上限
max-iterations-computation-cost 用於計算迭代次數的表示式的開銷的上限值
sms-max-ii-factor 調整擺動模排程器排程迴圈時使用的上限的一個因素
sms-min-sc The minimum value of stage count that swing
modulo scheduler will generate.
sms-dfa-history 使用 DFA
檢查衝突時擺動模排程器考慮的週期數
sms-loop-average-count-threshold 由擺動模排程程式考慮的關於平均迴圈計數的閾值
hot-bb-count-ws-permille A basic block profile count is considered hot if
it contributes to the given permillage of the
entire profiled execution
hot-bb-frequency-fraction 當某基本塊執行頻率超過函式中基本塊執行的最大頻率的指定百分比時,該基本塊可被考慮為熱點程式碼
align-threshold 當某基本塊執行頻率超過函式中基本塊執行的最大頻率的指定百分比時,該基本塊將被對齊
align-loop-iterations 對齊迴圈次數大於或等於設定值的迴圈
max-predicted-iterations 靜態預測時的最多迴圈次數
tracer-dynamic-coverage-feedback 必須被蹤跡形成所覆蓋的函式百分比,以執行頻率加權。當取樣反饋可用時使用
tracer-dynamic-coverage 必須被蹤跡形成所覆蓋的函式百分比,以執行頻率加權。當取樣反饋不可用時使用
tracer-max-code-growth 以百分比表示的尾複製所引起的最大程式碼膨脹
tracer-min-branch-ratio 當最優邊的反向概率小於此閾值(以百分數表示)時停止反向增長
tracer-min-branch-probability-feedback 當最優邊的概率小於此限值(以百分數表示)時,停止前向增長。當取樣反饋可用時使用。
tracer-min-branch-probability 當最優邊的概率小於此限值(以百分數表示)時,停止前向增長。當取樣反饋不可用時使用。
max-crossjump-edges 考慮進行交叉跳轉的最大入邊數量
min-crossjump-insns 考慮進行交叉跳轉的最小匹配指令數量
max-grow-copy-bb-insns 複製基本塊時最大的展開因子
max-goto-duplication-insns 分解計算轉移時複製指令的數量上限
max-cse-path-length 公因式消去時考慮的最大路徑長度
max-cse-insns 清空前公因式消去處理的最大指令數
lim-expensive 迴圈不變數轉移時一條昂貴的表示式的最小開銷
iv-consider-all-candidates-bound 當備選少於此設定值時所有備選都將為歸納變數優化所考慮
iv-max-considered-uses 對歸納變數數少於設定值的迴圈進行歸納變數優化
iv-always-prune-cand-set-bound 當備選歸納變數少於設定值時總是設法在優化過程中消除未使用的歸納變數
scev-max-expr-size 用在標量演化分析器中的表示式的大小上限
scev-max-expr-complexity Bound on the complexity of the expressions in the
scalar evolutions analyzer
omega-max-vars Omega 約束系統中變數數的上限
omega-max-geqs Omega 約束系統中不等式數量的上限
omega-max-eqs Omega 約束系統中等式數量的上限
omega-max-wild-cards Omega 約束系統中萬用字元數量的上限
omega-hash-table-size Omega 約束系統中散列表大小的上限
omega-max-keys Omega 約束系統中
omega-eliminate-redundant-constraints 設為 1
時,使用昂貴的方法來消除所有冗餘的約束
vect-max-version-for-alignment-checks 向量迴圈版本化插入的執行時對齊檢查次數的上限
vect-max-version-for-alias-checks 向量迴圈版本化插入的執行時別名檢查次數的上限
max-cselib-memory-locations cselib 最多記錄的記憶體位置
ggc-min-expand 引發垃圾收集的堆展開的最小值,以佔堆總大小的百分比給出
ggc-min-heapsize 開始垃圾回收時最小的堆大小,以千位元組表示
max-reload-search-insns 後向搜尋以尋找等價過載入時要搜尋的最大指令數量
sink-frequency-threshold Target block's relative execution frequency (as a
percentage) required to sink a statement
max-sched-region-blocks 一個區域中考慮進行塊間排程的最大塊數
max-sched-region-insns 一個區域中考慮進行塊間排程的最大指令數
max-pipeline-region-blocks 一個區域中考慮進行塊間排程的最大塊數
max-pipeline-region-insns 一個區域中考慮進行塊間排程的最大指令數
min-spec-prob 塊間投機排程時到達一個源塊的最小概率
max-sched-extend-regions-iters 通過 CFG 以擴充套件區域的最大迴圈次數
max-sched-insn-conflict-delay 考慮進行投機移動的指令的最大沖突延遲數
sched-spec-prob-cutoff 以百分比表示的投機成功的最小概率,影響對投機指令的排程
sched-state-edge-prob-cutoff The minimum probability an edge must have for
the scheduler to save its state across it.
selsched-max-lookahead 進行選擇排程時前瞻視窗的最大尺寸
selsched-max-sched-times 指定一條指令最多能被排程幾次
selsched-insns-to-rename 在適合行重新命名的就緒列表中最多的指令數
sched-mem-true-dep-cost 可能衝突的儲存和裝載之間的最小距離
max-last-value-rtl 可以被記作組合器的最終值的最大 RTL
節點數
integer-share-limit 共享整型常量的上界
ssp-buffer-size 考慮預防堆疊溢位的緩衝區的下限值
max-jump-thread-duplication-stmts 線索化跳轉時一個以被複制的塊中所能包含的最大語句數
max-fields-for-field-sensitive 在指標分析將該結構視為單一變數前結構包含的最大欄位數
max-sched-ready-insns 首趟排程考慮準備生成的指令的最大數量
max-dse-active-local-stores Maximum number of active local stores in RTL dead
store elimination
prefetch-latency 預取操作完成前執行指令的數目
simultaneous-prefetches 可以同時執行的預取運算元目
l1-cache-size 一級快取大小
l1-cache-line-size 一級快取列長度
l2-cache-size 二級快取大小
use-canonical-types 是否使用合乎規範的型別
max-partial-antic-length 進行樹上部分冗餘消除時部分可預期集的最大長度
sccvn-max-scc-size 在 SCCVN 停止處理一個函式以前 SCC
的最大尺寸
sccvn-max-alias-queries-per-access Maximum number of di