C 语言编译器 gcc 命令详解
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 <stdio.h>
#include <stdlib.h>
int main(void)
{
printf(“Hello World!”);
return 0;
}
二、 編譯、鏈接和運行程序
#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 xxxxxx實現,一般很少用這個選項。
總結
以上是生活随笔為你收集整理的C 语言编译器 gcc 命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光环Python培训班
- 下一篇: 24口交换机SYNC模块学习