- C語(yǔ)言編譯器gcc命令如何操作步驟 推薦度:
- 相關(guān)推薦
C語(yǔ)言編譯器gcc命令如何操作
C語(yǔ)言的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語(yǔ)言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。今天,小編為大家搜索整理了C語(yǔ)言編譯器gcc命令如何操作,希望大家能有所收獲,更多精彩內(nèi)容請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
Linux 系統(tǒng)中最重要的軟件開發(fā)工具是 gcc,在 Linux 系統(tǒng)中,c89、cc 和 gcc 這些命令基本上都指向系統(tǒng)的C語(yǔ)言編譯器,通常是GNU C編譯器,或都簡(jiǎn)稱 gcc。在 UNIX 系統(tǒng)中,C 語(yǔ)言編譯器稱為 cc。實(shí)際上,gcc 能夠編譯三種語(yǔ)言:C、C++ 和 Object C(C 語(yǔ)言的一種面向?qū)ο髷U(kuò)展)。利用 gcc 命令可同時(shí)編譯并連接 C 和 C++ 源程序,一般來(lái)說(shuō),C 編譯器通過(guò)源文件的后綴名來(lái)判斷是 C 程序還是 C++ 程序。在 Linux 中,C 源文件的后綴名為 .c,而 C++ 源文件的后綴名為 .C 或 .cpp。對(duì)于 C++ 程序,gcc 命令只能編譯 C++ 源文件,而不能自動(dòng)和 C++ 程序使用的庫(kù)連接。因此,通?梢允褂 g++ 命令來(lái)完成 C++ 程序的編譯和連接,該程序會(huì)自動(dòng)調(diào)用 gcc 實(shí)現(xiàn)編譯。本人一直都是在 Linux系統(tǒng)編譯 C程序的,就 gcc 命令行的作用記錄下來(lái)。
首先通過(guò)編寫、編譯和運(yùn)行一個(gè) HelloWorld 程序?qū)嵗_始哦
一、源代碼
/* hello.c */
#include
#include
int main(void)
{
printf("Hello World!");
return 0;
}
二、 編譯、鏈接和運(yùn)行程序
#gcc -o hello hello.c
#./hello
Hello World!
#
命令選項(xiàng)的作用:
1. -o Place the output into
如:#gcc -o file file.c
-o 告訴編譯器將可執(zhí)行程序放在何處,如果沒(méi)有指定文件名稱,編譯器則會(huì)把程序放在一個(gè)名為a.out的文件里(a.out的含義是 assembler output,即匯編輸出)。
2. -c Compile and assemble, but do not link
如:#gcc -c file.c
-c 告訴編譯器僅把源代碼編譯為目標(biāo)模塊(file.o)而跳過(guò)匯編和連接的步驟。在使用-c生成目標(biāo)模塊后,就可以通過(guò)-o選項(xiàng)來(lái)生成可執(zhí)行文件。如:#gcc -o file file1.o file2.o 可以是多個(gè)目標(biāo)模塊。
3. -l和-L
指示編譯器程序要鏈接的庫(kù)。其中-L要增加庫(kù)的搜索路徑。如:hello.so動(dòng)態(tài)庫(kù)放在/usr/cprimer目錄下,那就是 -L/user/cprimer
4. -O
如:#gcc file.c -O2,
用來(lái)優(yōu)化程序用的。優(yōu)化程序,執(zhí)行速度可能也有所提高,從未真正測(cè)試過(guò)。
5. -include
-include 告訴編譯器需要包含頭文件,但一般情況下包含頭文件都在源碼里用#include xxxxxx實(shí)現(xiàn),一般很少用這個(gè)選項(xiàng)。
【C語(yǔ)言編譯器gcc命令如何操作】相關(guān)文章:
c語(yǔ)言調(diào)用系統(tǒng)命令06-13
C語(yǔ)言編譯器和IDE選擇09-22
C語(yǔ)言編譯器和IDE的選擇06-30
C語(yǔ)言的底層操作08-23
Go與C語(yǔ)言的操作10-15
C語(yǔ)言位操作是08-17
如何安裝java語(yǔ)言編譯器11-02