導航:首頁 > 源碼編譯 > linux標准c編譯器

linux標准c編譯器

發布時間:2024-05-10 23:47:34

❶ 在linux下編C用哪個編譯器最好

Linux自帶了gcc編譯器,直接使用gcc
test.c命令編譯生成a.out可執行文件,或者使用命令gcc
-
o
test
test.c編譯生成test可執行文件,這樣避免了覆蓋前面的a.out,新手就先用自帶的練手了,很方便的,我也是剛學的,共勉哈

❷ gcc緙栬瘧鍣╨inux瀹夎単cc緙栬瘧鍣╨inux

ubuntulinux涓婥#鐨勭紪璇戝櫒鏄浠涔堬紵

Linux緋葷粺鑷甯gcc緙栬瘧鍣錛屼絾鏄鍙鑳界紪璇慍錛屽傛灉瑕佸姞鍏ュ瑰叾浠栬璦鐨勬敮鎸侊紙fortran銆丆++銆丣ava絳夛級錛岃峰湪Debian/Ubuntu涓璼udoapt-getinstallgfortran鐒跺悗杈撳叆鑷宸辯殑瀵嗙爜鍗沖彲瀹夎呮垚鍔.琛ュ厖:緙栬瘧紼嬪簭瀹炰緥:gcc婧愪唬鐮佹枃浠-o紼嬪簭鍚嶅悓鐞嗭紝fortran鐢╣fortran錛孋++鐢╣++gcc鏈夊緢澶氶夐」鐨勶紝璇﹁乵an鎵嬪唽

linux鏍囧噯c鍜宑鍔犲姞緙栬瘧鍣ㄦ槸錛

Linux緙栬瘧c鍜宑++涓鑸琯cc鍜実++灝卞彲浠ヤ簡

gcc緙栬瘧鍣ㄦ槸浠涔堝叕鍙革紵

GCC鏄疓NU欏圭洰鐨勭紪璇戝櫒緇勪歡涔嬩竴錛屼篃鏄疓NU鏈鍏鋒湁浠h〃鎬х殑浣滃搧銆傚湪GCC璁捐′箣鍒濅粎浠呬綔涓轟竴涓狢璇璦鐨勭紪璇戝櫒錛屽彲鏄緇忚繃鍗佸氬勾鐨勫彂灞曪紝GCC宸茬粡涓嶄粎浠呰兘鏀鎸丆璇璦錛涘畠鐜板湪榪樻敮鎸丄da璇璦銆丆++璇璦銆丣ava璇璦銆丱bjectiveC璇璦錛孭ascal璇璦銆丆OBOL璇璦錛屼互鍙婃敮鎸佸嚱鏁板紡緙栫▼鍜岄昏緫緙栫▼鐨凪ercury璇璦錛岀瓑絳夈

鑰孏CC涔熶笉鍐嶅崟鏄疓NUCCompiler鐨勬剰鎬濓紝鑰屾槸GNUCompilerCollection涔熷嵆鏄疓NU緙栬瘧鍣ㄥ舵棌鐨勬剰鎬濅簡錛岀洰鍓嶅凡緇忔垚涓篖inux涓嬫渶閲嶈佺殑緙栬瘧宸ュ叿涔嬩竴銆

.c鏂囦歡鐢ㄤ粈涔堢紪璇戝櫒錛

C璇璦緙栬瘧鍣ㄥ彲浠ュ垎涓轟袱綾伙紝涓鏄妗岄潰鎿嶄綔緋葷粺錛屼簩鏄宓屽叆寮忕郴緇熴傛岄潰鎿嶄綔緋葷粺鍖呮嫭錛歏isualC++銆丟CC浠ュ強LLVMClang錛孷isualC++鍙鑳界敤浜嶹indows鎿嶄綔緋葷粺錛孏CC鍜孡LVMClang闄や簡鍙鐢ㄤ簬Windows鎿嶄綔緋葷粺涔嬪栵紝涓昏佺敤浜嶶nix/Linux鎿嶄綔緋葷粺銆

宓屽叆寮忔搷浣滅郴緇熷寘鎷錛欿eilC51緙栬瘧鍣ㄣ丄VRGCC緙栬瘧鍣ㄣ丄DS銆丷VDS緙栬瘧鍣ㄣ丆CS銆乂isualDSP++緙栬瘧鍣ㄧ瓑銆

c璇璦鐨勭紪璇戝櫒鏈夊摢浜涳紵

C璇璦緙栬瘧鍣ㄥ彲浠ュ垎涓轟袱綾伙紝涓鏄妗岄潰鎿嶄綔緋葷粺錛屼簩鏄宓屽叆寮忕郴緇熴傛岄潰鎿嶄綔緋葷粺鍖呮嫭錛歏isualC++銆丟CC浠ュ強LLVMClang錛孷isualC++鍙鑳界敤浜嶹indows鎿嶄綔緋葷粺錛孏CC鍜孡LVMClang闄や簡鍙鐢ㄤ簬Windows鎿嶄綔緋葷粺涔嬪栵紝涓昏佺敤浜嶶nix/Linux鎿嶄綔緋葷粺銆

宓屽叆寮忔搷浣滅郴緇熷寘鎷錛欿eilC51緙栬瘧鍣ㄣ丄VRGCC緙栬瘧鍣ㄣ丄DS銆丷VDS緙栬瘧鍣ㄣ丆CS銆乂isualDSP++緙栬瘧鍣ㄧ瓑銆

❸ c緙栬瘧鍣╟緙栬瘧linux

linuxc緙栬瘧浣跨敤鐨勫嚱鏁板簱鏈夊摢涓ょ嶏紵

鍑芥暟搴撲竴鑸鍒嗕負鑷瀹氫箟搴撳拰緋葷粺榪愯屾椂鏍囧噯搴

linux鎬庝箞緙栬瘧c鐨勬簮紼嬪簭鐨勶紵gcc錛岀紪璇戝懡浠ゆ槸浠涔堬紵

緙栬瘧鏂規硶錛氭牸寮廹cc甯哥敤鐨勯夐」鏈綆鍗曠殑鏄:gcchello.c榛樿ょ殑鎯呭喌涓嬪皢鐢熸垚a.out鐨勫彲鎵ц屾ф枃浠訛紝鍙闇瑕佸湪緇堢涓婅緭鍏./a.out灝卞彲浠ョ湅鍒版墽琛岀殑緇撴灉錛屽傛灉浣犳兂鎸囧畾鐢熸垚鐩鏍囨枃浠剁殑鍚嶅瓧閭d箞浣犲彲浠ュ姞涓-o閫夐」,鍛戒護濡備笅:gcc-ohellohello.

c鍛戒護錛歡cc-chellohello.c鎵╁睍璧勬枡錛歡cc鍛戒護鐨勫熀鏈鐢ㄦ硶gcc鍏朵腑錛宖ilenames涓烘枃浠跺悕錛沷ptions涓虹紪璇戦夐」銆

褰撲笉浣跨敤浠諱綍緙栬瘧閫夐」緙栬瘧hello.c鏃訛紝gcc灝嗕細鑷鍔ㄧ紪璇戜駭鐢熶竴涓猘.out鐨勫彲鎵ц屾枃浠訛細#lshello.c#gcchello.c#lsa.outhello.c鎵ц岋細#./a.outHello,World!浣跨敤-o緙栬瘧閫夋嫨錛屽彲浠ヤ負緙栬瘧鍚庣殑鏂囦歡鎸囧畾涓涓鍚嶅瓧錛#lsa.outhello.c#gcchello.c-ohello#lsa.outhellohello.c鎵ц岋細#./helloHello,World!娉ㄦ剰錛氫嬌鐢-o閫夐」鏃訛紝-o鍚庨潰蹇呴』璺熶竴涓鏂囦歡鍚嶏紝鍗籌細-ooutfile銆備負浜嗕究浜庢弿榪板悗闈㈢殑閫夐」錛屽垹闄hello鍜宎.out鍙鎵ц屾枃浠躲

linuxc緙栬瘧鏃朵嬌鐢ㄧ殑鍝涓ょ嶅嚱鏁板簱錛

鎴戠煡閬撶殑鍑犱釜錛歡libc,鐢ㄥ緱鏈澶氱殑鏍囧噯搴擄紝posix鍏煎癸紱uclibc錛寀clinux鐨勫垎鏀錛宲osix鍏煎癸紝鐢ㄤ簬鏃燤MU鐨勫満鍚堬紝寰堝氫笉甯哥敤鐨勫嚱鏁伴兘鐪佸幓浜嗭紝閰嶇疆姣旇緝楹葷儲銆

dietlibc錛屾瘮uclibc榪樺皬錛屼竴鑸鐢ㄤ簬宓屽叆寮忕郴緇熴

linux涓鎶.c鐨勬枃浠剁紪璇戞垚.so錛

涓嶉渶瑕佸湪鑷宸辯殑.so涓璋冪敤鍒浜虹殑.so錛屽彧闇瑕佺紪璇戣嚜宸辯殑錛岀紪璇.so鏃訛紝緋葷粺涓嶄細媯鏌ユ湭瀹氫箟鐨勫嚱鏁般傜洿鎺ュ湪緙栬瘧鑷宸辯殑搴旂敤紼嬪簭鏃墮摼鎺ヨ繖涓や釜.so灝卞彲浠ヤ簡錛乬cc-oexec_filemysrc.c-L./-lXXX-L/usr/lib-lmysqlclient

❹ Linux 下如何裝 C 編譯器

2004年4月20日最新版本的GCC編譯器3.4.0發布了。目前,GCC可以用來編譯C/C++、FORTRAN、java、OBJC、ADA等語言的程序,可根據需要選擇安裝支持的語言。GCC 3.4.0比以前版本更好地支持了C++標准。本文以在Redhat Linux上安裝GCC3.4.0為例,介紹了GCC的安裝過程。

安裝之前,系統中必須要有cc或者gcc等編譯器,並且是可用的,或者用環境變數CC指定系統上的編譯器。如果系統上沒有編譯器,不能安裝源代碼形式的GCC 3.4.0。如果是這種情況,可以在網上找一個與你系統相適應的如RPM等二進制形式的GCC軟體包來安裝使用。本文介紹的是以源代碼形式提供的GCC軟體包的安裝過程,軟體包本身和其安裝過程同樣適用於其它Linux和Unix系統。

系統上原來的GCC編譯器可能是把gcc等命令文件、庫文件、頭文件等分別存放到系統中的不同目錄下的。與此不同,現在GCC建議我們將一個版本的GCC安裝在一個單獨的目錄下。這樣做的好處是將來不需要它的時候可以方便地刪除整個目錄即可(因為GCC沒有uninstall功能);缺點是在安裝完成後要做一些設置工作才能使編譯器工作正常。在本文中我採用這個方案安裝GCC 3.4.0,並且在安裝完成後,仍然能夠使用原來低版本的GCC編譯器,即一個系統上可以同時存在並使用多個版本的GCC編譯器。

按照本文提供的步驟和設置選項,即使以前沒有安裝過GCC,也可以在系統上安裝上一個可工作的新版本的GCC編譯器。

1. 下載

在GCC網站上( http://gcc.gnu.org/)或者通過網上搜索可以查找到下載資源。目前GCC的最新版本為 3.4.0。可供下載的文件一般有兩種形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是壓縮格式不一樣,內容完全一致,下載其中一種即可。

2. 解壓

根據壓縮格式,選擇下面相應的一種方式解包(以下的「%」表示命令行提示符):

% tar xzvf gcc-3.4.0.tar.gz
或者
% bzcat gcc-3.4.0.tar.bz2 | tar xvf -

新生成的gcc-3.4.0這個目錄被稱為源目錄,用${srcdir}表示它。以後在出現${srcdir}的地方,應該用真實的路徑來替換它。用pwd命令可以查看當前路徑。

在${srcdir}/INSTALL目錄下有詳細的GCC安裝說明,可用瀏覽器打開index.html閱讀。

3. 建立目標目錄

目標目錄(用${objdir}表示)是用來存放編譯結果的地方。GCC建議編譯後的文件不要放在源目錄${srcdir]中(雖然這樣做也可以),最好單獨存放在另外一個目錄中,而且不能是${srcdir}的子目錄。

例如,可以這樣建立一個叫 gcc-build 的目標目錄(與源目錄${srcdir}是同級目錄):

% mkdir gcc-build
% cd gcc-build

以下的操作主要是在目標目錄 ${objdir} 下進行。

4. 配置

配置的目的是決定將GCC編譯器安裝到什麼地方(${destdir}),支持什麼語言以及指定其它一些選項等。其中,${destdir}不能與${objdir}或${srcdir}目錄相同。

配置是通過執行${srcdir}下的configure來完成的。其命令格式為(記得用你的真實路徑替換${destdir}):

% ${srcdir}/configure --prefix=${destdir} [其它選項]

例如,如果想將GCC 3.4.0安裝到/usr/local/gcc-3.4.0目錄下,則${destdir}就表示這個路徑。

在我的機器上,我是這樣配置的:

% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java

將GCC安裝在/usr/local/gcc-3.4.0目錄下,支持C/C++和JAVA語言,其它選項參見GCC提供的幫助說明。

5. 編譯

% make

這是一個漫長的過程。在我的機器上(P4-1.6),這個過程用了50多分鍾。

6. 安裝

執行下面的命令將編譯好的庫文件等拷貝到${destdir}目錄中(根據你設定的路徑,可能需要管理員的許可權):

% make install

至此,GCC 3.4.0安裝過程就完成了。

6. 其它設置

GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、庫文件等都在${destdir}目錄下分別存放,如命令文件放在bin目錄下、庫文件在lib下、頭文件在include下等。由於命令文件和庫文件所在的目錄還沒有包含在相應的搜索路徑內,所以必須要作適當的設置之後編譯器才能順利地找到並使用它們。

6.1 gcc、g++、gcj的設置

要想使用GCC 3.4.0的gcc等命令,簡單的方法就是把它的路徑${destdir}/bin放在環境變數PATH中。我不用這種方式,而是用符號連接的方式實現,這樣做的好處是我仍然可以使用系統上原來的舊版本的GCC編譯器。

首先,查看原來的gcc所在的路徑:

% which gcc

在我的系統上,上述命令顯示:/usr/bin/gcc。因此,原來的gcc命令在/usr/bin目錄下。我們可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目錄下分別做一個符號連接:

% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g++ g++34
% ln -s ${destdir}/bin/gcj gcj34

這樣,就可以分別使用gcc34、g++34、gcj34來調用GCC 3.4.0的gcc、g++、gcj完成對C、C++、JAVA程序的編譯了。同時,仍然能夠使用舊版本的GCC編譯器中的gcc、g++等命令。

6.2 庫路徑的設置

將${destdir}/lib路徑添加到環境變數LD_LIBRARY_PATH中,最好添加到系統的配置文件中,這樣就不必要每次都設置這個環境變數了。

例如,如果GCC 3.4.0安裝在/usr/local/gcc-3.4.0目錄下,在RH Linux下可以直接在命令行上執行或者在文件/etc/profile中添加下面一句:

setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH

7. 測試

用新的編譯命令(gcc34、g++34等)編譯你以前的C、C++程序,檢驗新安裝的GCC編譯器是否能正常工作。

8. 根據需要,可以刪除或者保留${srcdir}和${objdir}目錄。

❺ gcc可以編譯c++嗎

狹義的gcc指的是gcc這個可執行文件,它是linux上的標准c語言編譯器,是不可以編譯c++的。
廣義的gcc是指linux編譯工具,安裝gcc的時候,都會有g++的可執行文件同時被安裝。
所以從這個角度上gcc可以編譯c++,不過編譯命令需要選g++。
可以在shell下打
g++ --version
如果可以正確顯示版本信息,而不是無法找到命令,那麼就是可以編譯c++的。

❻ Linux操作系統中默認安裝的C語言編譯系統是

Linux操作系統中默認安裝的C語言編譯系統是GCC(GNU Compiler Collection),是Linux下最常用的C語言編譯器,是GNU項目中符合ANSI,C標準的編譯系統,能夠編譯用C、Object C等語言編寫的程序。

同時它可以通過不同的前端模塊來支持各種語言,如Java、Fortran、Pascal、Mola,3和Ada等。

C語言的標准

1.1 K,RC

1973年,Dennis M Ritchie設計和實現了C語言,從那以後使用者逐漸增加。

1978年,Kernighan 和 Ritchie 合著了《The C Programming Language》,這本書定義的C語言被稱為 K,RC 。

1.2 標准 C

隨著C語言使用日益廣泛,出現了許多新問題,人們迫切希望對C語言進行標准化。

第一個標准:C89

1983年,ANSI成立了一個委員會X3J11,對C語言進行標准化。

1989年,ANSI 批准了第一個C語言標准 X3,159-1989,並於1990年公布,被稱為 ANSIC、C89 或 C90。

1990年,這個標准又被批准為ISO標准:ISO,IEC 9899:1990 。

ANSIC標准被ISO採納,並且ISO發布的修訂版也被ANSI採納,因此ANSI標准和ISO標准實際上沒有技術區別。這些名稱的含義是相同的:ANSI C、ISO C、標准C。

1994年和1996年,ISO發布了兩個技術更正,更正了1990ISOC標准中的錯誤。

第二個標准:C94

1995年,ISO發布了1990ISOC標準的一個補充,稱為AMD1。擴充後的標准被稱為C94或C95。

第三個標准:C99

1999年,ISO發布了一個新版本的ISOC標准:ISO,IEC9899:1999,稱為C99。

2001年、2004年和2007年,ISO發布了三個技術更正,更正了1999ISOC標准中的錯誤。

第四個標准:C11

2011年,ISO發布了一個新版本的ISOC標准:ISO,IEC9899:2011,稱為C11。C11 是 C語言的最新標准。

1.3 GNUC

1984年,Richard Stallman 發起了GNU計劃,它的目標是開發一個完整且自由的Unix-like操作系統(GNU系統)。

GNU系統是一個完整的操作系統,包括操作系統內核和各種工具軟體。各種GNU系統的變種(例如Redhat、Ubuntu等)已經被廣泛使用,它們使用的操作系統內核都是Linux。雖然這些系統經常被稱為Linux,但准確地說,它們是GNU/Linux系統。

GNU在編寫Linux時擴展了標准C,稱為GNUC。

GNU C的擴展詳見:Extensions to the C Language Family

GNU C也稱為Linux C,一般用於Linux上的開發,而標准C可以跨平台。

GNU C使用的編譯器是GCC。

❼ 在Linux下如何開發C程序

在Linux開發環境下,GCC是進行C程序開發不可缺少的編譯工具。GCC是GNU C Compile的縮寫,是GNU/Linux系統下的標准C編譯器。雖然GCC沒有集成的開發環境,但堪稱是目前效率很高的C/C++編譯器。《linux就該這么學》非常值得您一看。Linux平台下C程序開發步驟如下:
1.利用編輯器把程序的源代碼編寫到一個文本文件中。
比如編輯test.c程序內容如下:
/*這是一個測試程序*/
#include<stdio.h>
int main(void)
{
printf("Hello Linux!");
}
2.用C編譯器GCC編譯連接,生成可執行文件。
$gcc test.c
編譯完成後,GCC會創建一個名為a.out的文件。如果想要指定輸出文件,可以使用選項-o,命令如下所示:
$gcc-o test1 test.c
這時可執行文件名就變為test1,而不是a.out。
3.用C調試器調試程序。
4.運行該可執行文件。 在此例中運行的文件是:
$./a.out 或者 test1
結果將得出:
Hello Linux!
除了編譯器外,Linux還提供了調試工具GDB和程序自動維護工具Make等支持C語言編程的輔助工具。如果想要了解GCC的所有使用說明,使用以下命令:
$man gcc

閱讀全文

與linux標准c編譯器相關的資料

熱點內容
程序員經常用工具 瀏覽:835
降服主力指標源碼主圖 瀏覽:499
python實用庫 瀏覽:691
電腦默認7個文件夾 瀏覽:11
新唐單片機安裝c51後編譯錯誤 瀏覽:529
紅包源碼引流神器 瀏覽:234
學生初中畢業撕書解壓 瀏覽:747
命令方塊刷銅點教學 瀏覽:690
php郵件訂閱系統 瀏覽:996
柱樑底加密箍間距 瀏覽:29
pythonjavascript對比 瀏覽:740
什麼動漫app是大陸字幕 瀏覽:286
android查看activity棧 瀏覽:918
x86固件編譯 瀏覽:165
安卓下什麼可以看微博動圖 瀏覽:412
永輝生活app注冊有什麼優惠嗎 瀏覽:411
行偏移演算法 瀏覽:240
什麼app也能讓wifi增強 瀏覽:178
雙分錄核演算法反映什麼 瀏覽:210
ubuntuphpaptget 瀏覽:256