在Linux下面,如果要編譯一個C語言源程序,我們要使用gcc編譯器。
先將源文件編譯成目標文件:gcc - c hello.c
生成hello.o文件,再將目標文件編譯成可執行文件:gcc -o hello hello.o
如:
int main(int argc,char **argv)
{
printf("Hello Linux ");
}
(1)linux下的c編譯器擴展閱讀:
在使用GCC編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100多個,這里只介紹其中最基本、最常用的參數。具體可參考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是編譯器所需要的參數,filenames給出相關的文件名稱。
網路_gcc
⑵ 在linux下編C用哪個編譯器最好
Linux自帶了gcc編譯器,直接使用gcc
test.c命令編譯生成a.out可執行文件,或者使用命令gcc
-
o
test
test.c編譯生成test可執行文件,這樣避免了覆蓋前面的a.out,新手就先用自帶的練手了,很方便的,我也是剛學的,共勉哈
⑶ 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}目錄。
⑷ linux 怎麼編譯c的源程序的gcc,編譯命令是什麼
在Linux下面,如果要編譯一個C語言源程序,我們要使用gcc編譯器。
先將源文件編譯成目標文件:gcc - c hello.c
生成hello.o文件,再將目標文件編譯成可執行文件:gcc -o hello hello.o
如:
int main(int argc,char **argv)
{
printf("Hello Linux ");
}
(4)linux下的c編譯器擴展閱讀:
在使用GCC編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100多個,這里只介紹其中最基本、最常用的參數。具體可參考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是編譯器所需要的參數,filenames給出相關的文件名稱。
網路_gcc
⑸ linux中常用編譯器是什麼
Linux 下可用的編譯器有 GCC、EGCS 和 PGCC,其中最常用的編譯器便是 GCC。
GCC 起初是 GNU 推出的 C語言編
譯器,用於類 Unix 系統下的編程,所以名為 GNU C Compiler 。隨著眾多自由開發者的加入,GCC
發展迅速,如今已成為一個支持眾多語言的編譯器了,其中包括 C、C++、Ada、Object C 和 Java 等,以至於 GCC 開始被擴展為
GNU Compiler Collection ,也就是「GNU 編譯器集合」的意思。
GCC用法:
1、GCC基本用法及其選項
gcc 或 g++ 的用法跟參數含義幾乎一樣,他們最基本的用法是:
2、只編譯子程序(-c)
3、產生目標文件(-o)
4、附加調試信息(-g)
5、多文件編譯
6、連接庫文件。
⑹ 在Linux 中有自帶C語言編譯器嗎
桌面 Linux 不像 FreeBSD,一般都不自帶 C 語言編譯器,因為那屬於開發用工具,桌面用戶一般不用。
但是許多 GNU/Linux 的發行版的後台軟體庫都存有 C 語言編譯器,可以通過軟體包管理器來安裝。
以 Fedora 22 為例,安裝 GCC 的命令為 sudo dnf install gcc (不過我個人比較偏好 clang),其中 dnf 是管理軟體包的指令。
⑺ linux下有什麼圖形化c語言編譯調試cc軟體
Linux下圖形界面的編譯C語言的軟體有codeblocks、eclipse-cdt,圖形界面的調試器有ddd、Kdbg、Affinic GUI Debugger。但是這些圖形界面的軟體只是一個外殼,它們還是要調用gcc/gdb的功能,也就是說如果要使用這些軟體,你的Linux系統上需要預先安裝好gcc和gdb。
⑻ 如何用GCC在linux下編譯C語言程序
在Linux下面,如果要編譯一個C語言源程序,我們要使用GNU的gcc編譯器,假設我們有下面一個非常簡單的源程序(hello.c):
int main(int argc,char **argv)
{
printf("Hello Linux
");
}
要編譯這個程序,我們只要在命令行下執行:
gcc -o hello hello.c
gcc 編譯器就會為我們生成一個hello的可執行文件.執行./hello就可以看到程
序的輸出結果了
⑼ linux下一般用什麼編譯器編譯c工程
首先一定要安裝 gcc (或者 cc )編譯器。然後在 Linux 系統下,首先使用 vi 全屏幕編輯程序編輯一個後綴名為 .c 的文件,然後使用 gcc 編譯器對你的 C 語言源程序進行編譯、連接。最後才能夠運行生成後的運行文件(如果你的源程序沒有任何編譯錯誤的話)。當然了,在 gcc 的編譯過程中,會有很多選擇項。這個就是靠編程經驗了。
舉例如下:
gcc test.c -o myrunfile ( -o 選項指定輸出的運行文件名為:myrunfile,如果不指定 -o 選項的話,預設的運行文件名為:a.out)
⑽ 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。