溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Linux系統(tǒng)上如何運用強大的C/C++編譯器

發(fā)布時間:2021-10-27 18:26:44 來源:億速云 閱讀:310 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家?guī)碛嘘P在Linux系統(tǒng)上如何運用強大的C/C++編譯器,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在編譯過程中,發(fā)現(xiàn)C++編譯器是一個很強大的C/C++編譯器,該編譯以速度快、空間效率高為他的特點,它的版本對標準化C++的支持達92.73%,大大的支持了CPU優(yōu)化工作。

如果你有兩個或少數(shù)幾個C 源文件,也可以方便地利用GCC 編譯、連接并生成可執(zhí)行文件。例如,假設你有兩個源文件 main.c 和 factorial.c兩個源文件,現(xiàn)在要編譯生成一個計算階乘的程序。

清單 main.c

#include   #include   int factorial (int n);  int main (int argc, char **argv)  {  int n;  if (argc < 2) {  printf ("Usage: %s n ", argv [0]);  return -1;  }  else {  n = atoi (argv[1]);  printf ("Factorial of %d is %d. ", n, factorial (n));  }  return 0;  }

GCC 可同時用來編譯 C 程序和 C++ 程序。一般來說,C 編譯器通過源文件的后綴名來判斷是 C 程序還是 C++ 程序。在 linux 中,C 源文件的后綴名為 .c,而 C++ 源文件的后綴名為 .C 或 .cpp。

但是,gcc 命令只能編譯 C++ 源文件,而不能自動和 C++ 程序使用的庫連接。因此,通常使用 g++ 命令來完成 C++ 程序的編譯和連接,該程序會自動調用 gcc 實現(xiàn)編譯。假設我們有一個如下的 C++ 源文件(hello.C):

#include   void main (void)  {   cout << "Hello, world!" << endl;  }

則可以如下調用 g++ 命令編譯、連接并生成可執(zhí)行文件:

$ g++ -o hello hello.C   $ ./hello   Hello, world!

其它的編譯器如:Intel C/C++大家一看名稱就知道是Intel的東西,它和VC6完全兼容,不過要掛在VC6下才能用。Watcom C/C++是早先編譯器四國大戰(zhàn)中的一員,原本是很不錯的東西,可惜戰(zhàn)略不對,現(xiàn)在已不見聲息了。倒是以它為基礎的一個OpenWatcom現(xiàn)在還在奮戰(zhàn)。

VectorC是我近日才發(fā)現(xiàn)的一個好東東,它是個純C的編譯器。IBM的VisualAge for C++原本是IBM想用來淌強大的C/C++編譯器這片渾水的東西,不過IBM的戰(zhàn)略改了,它就被放棄了。DigitalMars C/C++的前身的Symantec C++(它也是編譯器四國大戰(zhàn)中的一員),不過現(xiàn)在Symantec不做了。

于是它的作者就把它改成了DigitalMars C/C++開放給大家使用。以上這些都是WIN32平臺上的東西。KAI C/C++是個很強大的C/C++編譯器,它是個多平臺的編譯器。不過現(xiàn)在被INTEL收購了,已經(jīng)停止開發(fā)了。Lcc4.1是個純C的編譯器它是開放源代碼的。

不過不怎么好用。LCC-WIN32是一個在LCC基礎上開發(fā)的C語言的集成開發(fā)環(huán)境,很好用,而且有很詳細的資料,F(xiàn)REE!Pacific C是一個純DOS的C的集成開發(fā)環(huán)境,就不多說了。Small C CC386都是開放源代碼的強大的C/C++編譯器,它們都很簡單。應用來給大家學習編譯器的。Quincy Eic CINT都是C的解釋器,是用來讓大家學習C語言的其中CINT的功能很強大,還支持一些C++的特性。

上述就是小編為大家分享的在Linux系統(tǒng)上如何運用強大的C/C++編譯器了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI