GCC常用命令描述
還蠻不錯的.. 直接轉成繁體版記下來~~~ 🙂
沒想到功能還有有這麼一堆... 附檔名也是...
一直只記得常用的而已... XD
轉載自: GCC常用命令描述
作者:wstruecolor
unix下開發常用的編譯工具gcc,我對於gcc的瞭解知道的很少,
一般用到的也就是gcc -o xx xx.cpp
今天翻了一下gnu的gcc manual 花了點時間總結了一下,
給大家分享一下!呵呵,希望對大家有幫助.
這裏介紹一下gcc的常用命令選項(可以參考gnu gcc manual).
1. gcc 支援的語言.
GCC 全稱是GNU Compiler Collection ,包含一些主要編譯器支援語言 C, C++, Objective-C, Java, Fortran, and Ada的編譯.
2.gcc 命令選項
當執行gcc的時候通常會經過四個處理過程,preprocessing, compilation, assembly and linking .可以通過加不同的選項來中止到某個過程.
a.總的選項.
-c -S -E -o file -pipe -pass-exit-codes
-x language -v -### --help --target-help --version
編譯器編譯檔要經過四個階段,如上所述.是按順序來進行的.
編譯器根據輸入檔的尾碼來決定進入哪個階段的處理過程:
file.c c 檔要經過豫處理.
file.i c原始檔案不必進行豫處理。
file.ii c++原始檔案不必進行豫處理。
file.h c/c++豫編譯頭檔.
file.cc
file.cp
file.cxx
file.cpp
file.CPP
file.c++
file.C c++原始檔案要經過豫處理.
file.hh
file.H c++頭檔轉換為豫處理頭檔.
file.s
Assembler code.
file.S
Assembler code which must be preprocessed
-x language =========選項是為了指定語言告訴gcc 檔是什麼語言的,
不必要缺省的尾碼識別.
languge 可以是:
c c-header cpp-output
c++ c++-header c++-cpp-output
objective-c objective-c-header objc-cpp-output
assembler assembler-with-cpp
ada
f77 f77-cpp-input ratfor
java
treelang
-x none 用尾碼識別,關閉語言識別.
-c 只是編譯不連接,生成的都是目標檔. .c, .i, .s ==> .o
-S 只是編譯不進行彙編,生成彙編代碼. .c, .i ==>.s
-E 只是進行豫編譯,不做其他處理.
-o file 把輸出檔輸出到file裏.
-v 列印出編譯器內部編譯的各個過程的命令行資訊.和編譯器的版本.
-### 同上,但是不真正執行命令.
-pipe 編譯器編譯時各個階段的資訊是保存到暫存檔案的,如果你不想
用暫存檔案的話可以通過管道也行.這個命令選項就用上了.不過有些系統不支援.
編者注:無雙網友補充
還有其他的選項 如-On(n=1,2,3) -arch=pentium4 這些用於優化的
-g用於調試的
還有prof支援的 可以判斷程式的運行效率
版權聲明:CSDN是本Blog託管服務提供商。如本文牽涉版權問題,CSDN不承擔相關責任,請版權擁有者直接與文章作者聯繫解決。