01. 命令概述
gcc命令使用GNU推出的基于C/C++的編譯器,是開放源代碼領(lǐng)域應(yīng)用最廣泛的編譯器,具有功能強(qiáng)大,編譯代碼支持性能優(yōu)化等特點(diǎn)。
gcc是GNU編譯器套件(GNU Compiler Collection),它包括了C、C++、Objective-C、Fortran、Java、Ada、Go語言和D語言的前端,也包括了這些語言的庫(如libstdc++、libgcj等等)。GCC的初衷是為GNU操作系統(tǒng)專門編寫的一款編譯器。GNU系統(tǒng)是徹底的自由軟件。此處,“自由”的含義是它尊重用戶的自由。
02. 命令格式
用法:gcc [選項(xiàng)] 文件...
03. 常用選項(xiàng)
-pass-exit-codes 在某一階段退出時(shí)返回最高的錯(cuò)誤碼 --help 顯示此幫助說明 --target-help 顯示目標(biāo)機(jī)器特定的命令行選項(xiàng) --help={common|optimizers|params|target|warnings|[^] {joined|separate|undocumented}}[,...] 顯示特定類型的命令行選項(xiàng) (使用‘-v --help'顯示子進(jìn)程的命令行參數(shù)) --version 顯示編譯器版本信息 -dumpspecs 顯示所有內(nèi)建 spec 字符串 -dumpversion 顯示編譯器的版本號(hào) -dumpmachine 顯示編譯器的目標(biāo)處理器 -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 顯示命令行選項(xiàng)和多個(gè)版本庫搜索路徑間的映射 -print-multi-os-directory 顯示操作系統(tǒng)庫的相對(duì)路徑 -print-sysroot 顯示目標(biāo)庫目錄 -print-sysroot-headers-suffix 顯示用于尋找頭文件的 sysroot 后綴 -Wa,<選項(xiàng)> 將逗號(hào)分隔的 <選項(xiàng)> 傳遞給匯編器 -Wp,<選項(xiàng)> 將逗號(hào)分隔的 <選項(xiàng)> 傳遞給預(yù)處理器 -Wl,<選項(xiàng)> 將逗號(hào)分隔的 <選項(xiàng)> 傳遞給鏈接器 -Xassembler <參數(shù)> 將 <參數(shù)> 傳遞給匯編器 -Xpreprocessor <參數(shù)> 將 <參數(shù)> 傳遞給預(yù)處理器 -Xlinker <參數(shù)> 將 <參數(shù)> 傳遞給鏈接器 -save-temps 不刪除中間文件 -save-temps=不刪除中間文件 -no-canonical-prefixes 生成其他 gcc 組件的相對(duì)路徑時(shí)不生成規(guī)范化的 前綴 -pipe 使用管道代替臨時(shí)文件 -time 為每個(gè)子進(jìn)程計(jì)時(shí) -specs=<文件> 用 <文件> 的內(nèi)容覆蓋內(nèi)建的 specs 文件 -std=<標(biāo)準(zhǔn)> 指定輸入源文件遵循的標(biāo)準(zhǔn) --sysroot=<目錄> 將 <目錄> 作為頭文件和庫文件的根目錄 -B <目錄> 將 <目錄> 添加到編譯器的搜索路徑中 -v 顯示編譯器調(diào)用的程序 -### 與 -v 類似,但選項(xiàng)被引號(hào)括住,并且不執(zhí)行命令 -E 僅作預(yù)處理,不進(jìn)行編譯、匯編和鏈接 -S 編譯到匯編語言,不進(jìn)行匯編和鏈接 -c 編譯、匯編到目標(biāo)代碼,不進(jìn)行鏈接 -o <文件> 輸出到 <文件> -pie Create a position independent executable -shared Create a shared library -x <語言> 指定其后輸入文件的語言 允許的語言包括:c c++ assembler none ‘none'意味著恢復(fù)默認(rèn)行為,即根據(jù)文件的擴(kuò)展名猜測(cè) 源文件的語言
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。