makefile相關知識(編譯選項)
阿新 • • 發佈:2019-02-01
編譯選項
本節內容大多摘錄於:http://blog.csdn.net/earbao/article/details/53153853
這裡說幾個常常使用到的選項,具體內容請檢視上面的網頁:
使用gcc -v --help可以列出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’意味著恢復預設行為,即根據檔案的副檔名猜測
- 原始檔的語言