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ā)方式生產力并不高,若只是開發(fā)學習用的小程序則影響不大,但若要開發(fā)大型項目時,程序檔案個數(shù)眾多,需要用project或solution的方式管理;且debug時breakpoint的加入,單步執(zhí)行,觀察變量變化等,都需要更可視化的方式才能夠增加生產力;最重要的,由于現(xiàn)在的程序語言皆非常的龐大,又有復雜的函式庫,要程序員熟記所有的程序語法和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的學習曲線。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ā)其它語言程序,就不用再重新學習IDE環(huán)境了。3. 最重要的,Eclipse和CDT是Open Source且完全免費,取得相當容易,事實上Fedora 5已經包含Eclipse和CDT了,雖然預設Fedara 5安裝時并沒有含Eclipse,只要手動另外加選即可。
B. 如何在Linux下安裝Eclipse和CDT? i. 由Linux Distribution安裝Eclipse,F(xiàn)edora 5就內含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. (將您所下載的檔的權限更改為可執(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ù)安裝。此時會將解壓縮,產生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. (設定環(huán)境變量,讓Linux能找到JRE) [root@localhost java]#vi /etc/profile (將以下內容加入在檔案后面)
(存盤后,重新啟動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設定檔,所以無法讀取,第二次執(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. 額外的設定 6. Open Associated Perspective?(選Yes繼續(xù)) 7. 建立C++ Source File8. 輸入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設定,按Debug開始Debug 4. 單步執(zhí)行,顯示變量變化E. 結論Eclipse為Linux在C/C++開發(fā)提供一個完善的IDE環(huán)境,事實上,以我用過眾多IDE的經驗,除了Visual Studio最方便外,Eclipse的好用也直追Visual Studio,并且超越Borland C++ Builder及Dev C++,雖然安裝上比較麻煩,但只要依照本文介紹一步一步的設定,就一定可完成Eclipse設定,若想要在Windows平臺使用gcc compiler,也建議使用Eclipse + CDT + MinGW的組合。See Also [轉載] 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)