在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源碼編譯器擴展閱讀:
在使用GCC編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100多個,這里只介紹其中最基本、最常用的參數。具體可參考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是編譯器所需要的參數,filenames給出相關的文件名稱。
網路_gcc
② Linux內核編譯要用什麼工具
GNU toolchain工具鏈
包含binutils/gcc/glibc
binutils包含鏈接器,匯編器等處理obj文件的工具
gcc是編譯器
glibc是GNU的標准C庫
這是一個最小集合,除此之外工具鏈還有其他的一些工具,比如:
make,tar,ncurses等等
參考資料是如何從源代碼構造Linux(LFS)關於工具鏈的說明
③ 在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}目錄。
⑤ 如何用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下環境搭建 怎麼配置編譯器
編譯器:GCC編譯器可以用來編譯C和C++源程序,C編譯器通過文件的後綴來判斷是C程序還是C++程序。一般來說C源文件的後綴為「.C」,而C++源文件的後綴為「.C」或「C++」。
但GCC編譯器只能編譯C++源程序,不能與使用的庫連接,因此用G++來完成C++程序的編譯與連接,該程序會自動調用GCC來編譯。
(1)直接在終端里輸入export後面加要設的變數,例如QT:
ExportQTDIR=$PWD/qt-2.3.2
其中,pwd是用來顯當前路徑的命令,在其前面加上$,則表示QT的目標目錄在當前目錄下的「qt-2.3.2」里,當然「$PWD」也可以用絕對路徑來代替。這種方法所設的環境變數在下次開機後不再有效,而且換個shell也不會有效,只是臨時的。
(2)在etc/profile里添加環境變數,比如:
exportQTDIR=/usr
exportLD_LIBRARY_PATH=$QTDIR/lib
exportQT_QWS_FONTDIR=$QTDIR/lib/fonts
exportQWS_DISPLAY="LinuxFb:/dev/fb0"
(3)修改.bashrc,如果需要給某個用戶許可權使用這些環境變數,只需修改其個人用戶家目錄下的.bashrc文件就可以了。
(4)用以上面兩種方法設置好環境變數後記得重啟
以上使用QT為例
⑦ linux有什麼源代碼編輯器
Linux程序員經常抱怨,自從他們使用了免費開源的系統平台後,作為一名程序員,卻並沒有在代碼編輯器上得到足夠的重視。他們往往會認為Linux平台上的代碼編輯器太少了,以至於影響他們的編程工作。但是事實並非如此,在Linux平台上有太多的代碼編輯器供你使用了,下面我們分享了7個最受Linux程序員歡迎的代碼編輯器,繼續在編程的路上前行吧!
1、Eclipse
Eclipse是一款很酷的開源代碼編輯器,同時它也是最受程序員親睞的代碼編輯器之一,它擁有代碼高亮和智能提示等強大的功能。在Eclipse中,你可以完全勝任以下編程語言的工作——Python, R, Ruby, JavaScript, Natural, Lasso, C, C++, COBOL, Scheme, Clojure, Groovy等等,它也是非常著名的Java集成開發環境,甚至提供了對Java 8的支持。在一些Web開發IDE特性的幫助下,你可以非常方便地對代碼文件進行組織和訪問
2、Light Table
Light Table將會是一款徹底改變Linux編輯器概念的代碼編輯器,它提供了直觀和易用的編程界面。並且Light Table可以很方便地進行定製功能,因為它也是開源的。它有一個強大的插件管理器,這樣你就不用在網上漫無目的的尋找需要的插件了。
3、Sublime Text 3
這是一款絕對值得一提的Linux代碼編輯器,因為它有簡單而且超酷的功能特性。Sublime Text 3最獨特的地方就是它沒有獨特的功能,它僅僅是一個簡單的代碼編輯器,有了它,你就可以非常方便地對多行代碼進行修改了。利用Sublime Text 3你可以做操作文件、重命名變數、分離編輯和其他有趣的操作。
4、Brackets
Brackets也是一款為Linux開發者設計的開源代碼編輯器,使用Brackets寫代碼,你不會被任何事情所打斷。比如在寫HTML代碼時,即便你沒有保存代碼也可以及時預覽你的Web頁面效果。你也可以使用Theseus來檢查變數,Brackets默認提供一種主題,當然你也可以在擴展中心獲取更多的主題。
5、Dart Editor
Dart Editor是Google開發設計的,旨在幫助開發者製作光亮而驚嘆的Web應用。Dart Editor支持多種開發語言,同時也集成了Dartium。通過它的靜態分析引擎,你可以創建,維護,調試和開發自己的Web應用。函數、類、方法等都能以樹的結構列出來,方便你編寫代碼。
6、Vim
Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。和Emacs並列成為類Unix系統用戶最喜歡的編輯器。
7、Emacs
Emacs不僅僅是一個編輯器,他是一個整合環境,或可稱它為集成開發環境,這些功能如讓使用者置身於全功能的操作系統中。Emacs不僅可以作為文本編輯器,還可以用來收發電子郵件、通過FTP/TRAMP編輯遠程檔案、通過Telnet登錄主機、上新聞組、登陸IRC和朋友交流、查看日歷等功能。
⑧ 如何在Linux下編譯安裝Lua編譯器
方法/步驟
Linux系統的版本
命令:
cat /proc/version
下載Lua源碼包
命令:
wget http://www.lua.org/ftp/lua-5.3.2.tar.gz
解壓下載的源碼包lua-5.3.2.tar.gz
命令:
tar -xzvf lua-5.3.2.tar.gz
安裝編譯Lua所需的依賴包
命令:
yum -y install readline-devel
編譯並安裝Lua
命令:
make linux test
測試Lua源碼編譯生成的lua是否可用
命令:
lua
7
測試Lua源碼編譯生成的luac是否可用
命令:
luac
⑨ 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、連接庫文件。