A.?為什么要在Linux使用Eclipse開發(fā)C/C++程序??

Linux是一個以C/C++開發(fā)為主的平臺,無論是Kernel或是Application,主要都使用C/C++開發(fā)。傳統(tǒng)在Linux下開發(fā)程序,是在文字模式下,利用vi等文字編輯器撰寫C/C++程序存盤后,在Command line下使用gcc編譯,若要debug,則使用gdb。


這種開發(fā)方式生產(chǎn)力并不高,若只是開發(fā)學(xué)習(xí)用的小程序則影響不大,但若要開發(fā)大型項目時,程序檔案個數(shù)眾多,需要用project或solution的方式管理;且debug時breakpoint的加入,單步執(zhí)行,觀察變量變化等,都需要更可視化的方式才能夠增加生產(chǎn)力;最重要的,由于現(xiàn)在的程序語言皆非常的龐大,又有復(fù)雜的函式庫,要程序員熟記所有的程序語法和function名稱,實在很困難,所以語法提示(Intellisense)的功能就非常重要,這些就必須靠IDE來達成。


在Windows平臺上,若要開發(fā)C/C++程序,我們有Microsoft Visual Studio、Borland C++ Builder可用,這些都是很好用的IDE,但可惜僅能在Windows下使用,但是在Linux平臺呢?基于以下理由,我推薦使用Eclipse開發(fā)C/C++程序:


1.?Eclipse是一個用Java所撰寫IDE,因此可跨平臺,所以在Linux和Windows平臺下皆可使用Eclipse,可降低程序員熟析IDE的學(xué)習(xí)曲線。


2.?Eclipse雖然主要拿來開發(fā)Java程序,但事實上Eclipse為一個『萬用語言』的IDE,只要掛上plugin后,就可以在Eclipse開發(fā)各種語言程序,所以我們只要掛上CDT(C/C++ Development Toolkit)后,就可以在Eclipse開發(fā)C/C++程序,除此之外,目前的主流程序語言,如C/C++、C#、Java、PHP、Perl、Python、Ruby、Rebol、JavaScript、SQL、XML、UML等,皆可在Eclipse上撰寫,所以只要熟析Eclipse的IDE環(huán)境,將來若開發(fā)其它語言程序,就不用再重新學(xué)習(xí)IDE環(huán)境了。


3.?最重要的,Eclipse和CDT是Open Source且完全免費,取得相當(dāng)容易,事實上Fedora 5已經(jīng)包含Eclipse和CDT了,雖然預(yù)設(shè)Fedara 5安裝時并沒有含Eclipse,只要手動另外加選即可。


B.?如何在Linux下安裝Eclipse和CDT??
i.?由Linux Distribution安裝Eclipse,F(xiàn)edora 5就內(nèi)含Eclipse和CDT。

ii.?手動安裝
? 1.?下載檔案
??? A、?下載JRE(Java Runtime Environment) 。(http://java.sun.com/javase/downloads/index.jsp)

??? B、?下載Eclipse SDK。(http://www.eclipse.org/downloads/)

??? C、?下載CDT。(http://www.eclipse.org/cdt/downloads.php)

? 2.?安裝
??? A、?安裝JRE
????? i.?[root@localhost ~]#mkdir /usr/local/java

????? ii.?(將檔案jre-1_5_0_09-linux-i586-rpm.bin下載到/usr/local/java目錄下)

????? iii.?(超級用戶模式)
????? [root@localhost ~]#su????????????

????? iv.? [root@localhost ~]#cd /usr/java

????? v.?(將您所下載的檔的權(quán)限更改為可執(zhí)行)
????? [root@localhost java]#chmod a+x jre-1_5_0_09-linux-i586-rpm.bin?

????? vi.?(啟動安裝過程)
????? [root@localhost java]#./jre-1_5_0_09-linux-i586-rpm.bin
????? (此時將顯示二進制許可協(xié)議,按控格顯示下一頁,讀完許可協(xié)議后,輸入 『yes』繼續(xù)安裝。此時會將解壓縮,產(chǎn)生jre-1_5_0_9-linux-i586.rpm)


????? vii. (安裝jre-1_5_0_9-linux-i586.rpm)
????? [root@localhost java]#rpm –ivh jre-1_5_0_9-linux-i586.rpm

????? (此時會將JRE裝在/usr/java/jre1.5.0_09目錄下)

????? viii.?(設(shè)定環(huán)境變量,讓Linux能找到JRE)
????? [root@localhost java]#vi /etc/profile
????? (將以下內(nèi)容加入在檔案后面)

1 PATH = $PATH: / usr / java / jre1. 5 .0_09 / bin
2 export?JAVA_HOME =/ usr / java / jre1. 5 .0_09
3 export?CLASSPATH = $JAVA_HOME / lib:.

????? (存盤后,重新啟動Linux)

????? ix.?(測試Java是否安裝成功)
????? [root@localhost ~]#java –version


??? B、?安裝Eclipse SDK
????? i.?(將檔案eclipse-SDK-3.2.1-linux-gtk.tar.gz下載到桌面)

????? ii.?[root@localhost ~]#cd /usr/local

????? iii.?[root@localhost local]#cp ~Desktop/eclipse-SDK-3.2.1-linux-gtk.tar.gz .????

????? iv.?(將eclipse-SDK-3.2.1-linux-gtk.tar.gz解壓縮)
????? [root@localhost local]#tar –zxvf eclipse-SDK-3.2.1-linux-gtk.tar.gz

????? v.?[root@localhost local]#cd eclipse

????? vi.?(執(zhí)行Eclipse)
????? [root@localhost eclipse]#./eclipse

????? vii.?(Select a workspace)
????? (將Use this as the default and do not ask again打勾,以后就不會出現(xiàn)這個窗口)


????? (第一次執(zhí)行Eclipse會出現(xiàn)此error,因為沒有任何Eclipse設(shè)定檔,所以無法讀取,第二次執(zhí)行Eclipse就無此錯誤訊息,按OK繼續(xù)。)


????? (Eclipse主畫面)


??? C、 安裝CDT
????? i. (將檔案org.eclipse.cdt-3.1.1-linux.x86.tar.gz下載到桌面)

????? ii. [root@localhost ~]#cp ~/Desktop/org.eclipse.cdt-3.1.1-linux.x86.tar.gz .

????? iii. (將org.eclipse.cdt-3.1.1-linux.x86.tar.gz解壓縮)
????? [root@localhost ~]#tar –zxvf org.eclipse.cdt-3.1.1-linux.x86.tar.gz
????? (檔案將解到~/eclipse目錄下)

????? iv. (安裝CDT plugin)
????? [root@localhost ~]cp –r eclipse/plugins/. /usr/local/eclipse/plugins/

????? v. (啟動Eclipse,多了C和C++ Project支持)?
???

C.?如何在Eclipse上開發(fā)C/C++程序?
i.?建立Hello Word project
? 1.?建立C/C++ project


? 2.?選擇Managed Make C++ Project(若選擇Managed Make C++ Project,Eclipse會自動為我們建立make file;若選擇Standard Make C++ Project,則必須自己寫make file。)


? 3.?輸入Project name


? 4.?選擇Project類型(如執(zhí)行檔或Library,這里選擇執(zhí)行檔即可)


? 5.?額外的設(shè)定


? 6.?Open Associated Perspective?(選Yes繼續(xù))


? 7.?建立C++ Source File


8.?輸入C++ Source File檔名


? 9.?輸入C++程序代碼


? 10.?執(zhí)行程序(顯示在下方的Console區(qū))


ii.?如何在Eclipse CDT中Debug C/C++程序?
1.?在Eclipse中Debug,就如同在一般IDE中Debug一樣,只要在程序代碼的左方按兩下,就可加入breakpoint。


? 2.?啟動Debug


? 3.?Debug設(shè)定,按Debug開始Debug


? 4.?單步執(zhí)行,顯示變量變化


E.?結(jié)論
Eclipse為Linux在C/C++開發(fā)提供一個完善的IDE環(huán)境,事實上,以我用過眾多IDE的經(jīng)驗,除了Visual Studio最方便外,Eclipse的好用也直追Visual Studio,并且超越Borland C++ Builder及Dev C++,雖然安裝上比較麻煩,但只要依照本文介紹一步一步的設(shè)定,就一定可完成Eclipse設(shè)定,若想要在Windows平臺使用gcc compiler,也建議使用Eclipse + CDT + MinGW的組合。

See Also
[轉(zhuǎn)載] Eclipse + CDT + MinGW 安裝方法

Reference
1.?為Linux手動下載和安裝Java Runtime Enrironment(JRE)的說明
(http://www.java.com/zh_CN/download/help/5000010500.xml)
2.?Eclipse 3.0 CDT on Linux
(http://www.autexier.de/jmau/dev/CDT/cdt.html)