1. 程式人生 > >gcc編譯部分編譯選項

gcc編譯部分編譯選項

使用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