C 語言編譯器 gcc 命令詳解

2021-08-28 07:39:23 字數 1270 閱讀 7888

linux 系統中最重要的軟體開發工具是 gcc,在 linux 系統中,c89、cc 和 gcc 這些命令基本上都指向系統的c語言編譯器,通常是gnu c編譯器,或都簡稱 gcc。在 unix 系統中,c 語言編譯器稱為 cc。實際上,gcc 能夠編譯三種語言:c、c++ 和 object c(c 語言的一種物件導向擴充套件)。利用 gcc 命令可同時編譯並連線 c 和 c++ 源程式,一般來說,c 編譯器通過原始檔的字尾名來判斷是 c 程式還是 c++ 程式。在 linux 中,c 原始檔的字尾名為 .c,而 c++ 原始檔的字尾名為 .c 或 .cpp。對於 c++ 程式,gcc 命令只能編譯 c++ 原始檔,而不能自動和 c++ 程式使用的庫連線。因此,通常可以使用 g++ 命令來完成 c++ 程式的編譯和連線,該程式會自動呼叫 gcc 實現編譯。本人一直都是在 linux系統編譯 c程式的,就 gcc 命令列的作用記錄下來。

首先通過編寫、編譯和執行乙個 helloworld 程式例項開始哦

一、源**

/* hello.c */

#include

#include

int main(void)

二、 編譯、鏈結和執行程式

#gcc -o hello hello.c

#./hello

hello world!

命令選項的作用:

-o place the output into

如:#gcc -o file file.c

-o 告訴編譯器將可執行程式放在何處,如果沒有指定檔名稱,編譯器則會把程式放在乙個名為a.out的檔案裡(a.out的含義是 assembler output,即彙編輸出)。

-c compile and assemble, but do not link

如:#gcc -c file.c

-c 告訴編譯器僅把源**編譯為目標模組(file.o)而跳過彙編和連線的步驟。在使用-c生成目標模組後,就可以通過-o選項來生成可執行檔案。如:#gcc -o file file1.o file2.o 可以是多個目標模組。

-l和-l

指示編譯器程式要鏈結的庫。其中-l要增加庫的搜尋路徑。如:hello.so動態庫放在/usr/cprimer目錄下,那就是 -l/user/cprimer

-o如:#gcc file.c -o2,

用來優化程式用的。優化程式,執行速度可能也有所提高,從未真正測試過。

-include

-include 告訴編譯器需要包含標頭檔案,但一般情況下包含標頭檔案都在原始碼裡用#include ******實現,一般很少用這個選項。

gcc編譯器命令使用詳解

1。gcc 包含的c c 編譯器 gcc,cc,c g gcc和cc是一樣的,c 和g 是一樣的,沒有看太明白前面這半句是什 麼意思 一般c程式就用gcc編譯,c 程式就用g 編譯 2。gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣...

通過GCC編譯器編譯c語言

可以利用gcc的引數來控制執行的過程,這樣就可以更深入的了解編譯c程式的過程。下面將通過對乙個程式的編譯來演示整個過程。include int main 1 預處理 編譯器將c程式的標頭檔案編譯進來,還有巨集的替換,可以用gcc的引數 e來參看。作用 將hello.c預處理輸出hello.i 2 編...

C語言基礎 GCC編譯器

預處理 pre processing 編譯 compiling 彙編 assembling 鏈結 linking 編譯器通過程式的副檔名來分辯編寫源程式所用的語言。由於不同的程式所需要執行編譯的步驟是不同的,因此gcc根據不同的字尾名對它們進行相應處理。後 綴 名 所對應的語言 編 譯 流 程 cc...