Linux上的C C 編譯器gcc egcs詳解

2021-03-31 08:57:01 字數 1186 閱讀 2345

一.執行 gcc/egcs

linux 中最重要的軟體開發工具是 gcc。gcc 是 gnu 的 c 和 c++ 編譯器。實際上,gcc能夠編譯三種語言:c、c++和objectc(c語言的一種物件導向擴充套件)。利用 gcc 命令可同時編譯並連線 c 和 c++ 源程式。

#demo#: hello.c

清單 factorial.c

-----------------------

#include

#include

int factorial (int n)

-----------------------

-----------------------

清單 main.c

-----------------------

#include

#include

int factorial (int n);

int main (int argc, char **argv)

else

return 0;

}-----------------------

利用如下的命令可編譯生成可執行檔案,並執行程式:

$ gcc -o factorial main.c factorial.c

$ ./factorial 5

factorial of 5 is 120.

gcc 可同時用來編譯 c 程式和 c++ 程式。一般來說,c 編譯器通過原始檔的字尾名來判斷是 c 程式還是 c++ 程式。在 linux 中,c 原始檔的字尾名為 .c,而 c++ 原始檔的字尾名為 .c 或 .cpp。

但是,gcc 命令只能編譯 c++ 原始檔,而不能自動和 c++ 程式使用的庫連線。因此,通常使用 g++ 命令來完成 c++ 程式的編譯和連線,該程式會自動呼叫 gcc 實現編譯。

假設我們有乙個如下的 c++ 原始檔(hello.c):

#include 

void main (void)

則可以如下呼叫 g++ 命令編譯、連線並生成可執行檔案:

$ g++ -o hello hello.c

$ ./hello

hello, world!

二.gcc/egcs 的主要選項

Linux上的C C 編譯器gcc egcs詳解

一.執行 gcc egcs linux 中最重要的軟體開發工具是 gcc。gcc 是 gnu 的 c 和 c 編譯器。實際上,gcc能夠編譯三種語言 c c 和objectc c語言的一種物件導向擴充套件 利用 gcc 命令可同時編譯並連線 c 和 c 源程式。demo hello.c 清單 fac...

linux上的C C 編譯器gcc egcs詳解

一.執行 gcc egcs linux 中最重要的軟體開發工具是 gcc。gcc 是 gnu 的 c 和 c 編譯器。實際上,gcc能夠編譯三種語言 c c 和objectc c語言的一種物件導向擴充套件 利用 gcc 命令可同時編譯並連線 c 和 c 源程式。demo hello.c 清單 fac...

Linux上的C C 編譯器gcc egcs詳解

include include int factorial int n 清單 main.c include include int factorial int n int main int argc,char argv else return 0 利用如下的命令可編譯生成可執行檔案,並執行程式 gc...