gcc 的基本用法是:
gcc [選項] [檔案]
gcc 常用選項和引數 -c
只編譯不鏈結。編譯器只是將輸入的.c 等源**檔案生成.o 為字尾的目標檔案,通常用於編譯不包含主程式的子程式檔案
-s只對檔案進行編譯,不彙編和鏈結
-e只對檔案進行預處理,不編譯彙編和鏈結
-o output_filename
確定輸出檔案的名稱為 output_filename,這個名稱不能和原始檔同名。如果不給出這個選項,gcc 就給出缺省的可執行檔案 a.out
-g 產生符號除錯工具(gnu 的 gdb)所必要的符號資訊,要想對源**進行除錯,就必須加入這個選項。g 也分等級,預設是-g2,-g1 是最基本的,-g3 包含巨集資訊
-dfoo=bar
在命令列定義預處理巨集 foo,值為 bar
-o 對程式進行優化編譯、鏈結。採用這個選項,整個源**會在編譯、鏈結過程中進行優化處理,這樣產生的可執行檔案的執行效率可以提高,但是,編譯、鏈結的速度就相應地要慢一些
-on
指定**的優化等級為 n,可取值為 0、1、2、3;o0 沒有優化,o3 優化級別最高
-os
使用了-o2 的優化部分選項,同時對**尺寸進行優化
-idirname
將 dirname 目錄加入到程式標頭檔案搜尋目錄列表中,是在預編譯過程中使用的引數
-l[dirname]
將 dirname 目錄加入到庫檔案的搜尋目錄列表中 。
比如某個c檔案包含了乙個自定庫檔案,編譯時找不到這個自定義的檔案,那麼就需要用這個引數指定檔案的路徑。
比如包含當前路徑 "-l."
-lfoo
鏈結名為 libfoo.so 的函式庫
-static
鏈結靜態庫
-ansi
支援 ansi/iso c 的標準語法,取消 gnu 的語法中與該標準相衝突的部分
-w 關閉所有警告,不建議使用
-w 開啟所有 gcc 能提供的警告
-werror
將所有警告轉換為錯誤,開啟該選項,遇到警告都會中止編譯
-v gcc 執行時執行的詳細過程,gcc 及其相關程式的版本號
GCC編譯選項
gcc g 在執行編譯工作的時候,總共需要4步 1.預處理,生成.i的檔案 預處理器cpp 2.將預處理後的檔案不轉換成組合語言,生成檔案.s 編譯器egcs 3.有彙編變為目標 機器 生成.o的檔案 彙編器as 4.連線目標 生成可執行程式 鏈結器ld 引數詳解 c 只啟用預處理,編譯,和彙編,也...
gcc 編譯選項
gcc 編譯選項,自己翻譯的.gcc 編譯選項,自己翻譯的.o 設定輸出檔名 c 只編譯,不連線.e 只做預編譯.pipe 在多個編譯過程之間使用管道.version 顯示版本.static 靜態連線.ansi c 模式下支援所有 iso c90 標準的 c 程式,c 模式下去除對 gnu c 擴充...
gcc 編譯選項
wall 大部分警告 wextra 一些額外的警告 werror 當出現警告時轉為錯誤,停止編譯 wconversion 一些可能改變值的隱式轉換,給出警告。wno unused parameter 函式中出現未使用的引數,不給出警告。wold style cast c風格的轉換,給出警告 wove...