A.?為什么要在Linux使用Eclipse開發C/C++程序?? Linux是一個以C/C++開發為主的平臺,無論是Kernel或是Application,主要都使用C/C++開發。傳統在Linux下開發程序,是在文字模式下,利用vi等文字編輯器撰寫C/C++程序存盤后,在Command line下使用gcc編譯,若要debug,則使用gdb。
這種開發方式生產力并不高,若只是開發學習用的小程序則影響不大,但若要開發大型項目時,程序檔案個數眾多,需要用project或solution的方式管理;且debug時breakpoint的加入,單步執行,觀察變量變化等,都需要更可視化的方式才能夠增加生產力;最重要的,由于現在的程序語言皆非常的龐大,又有復雜的函式庫,要程序員熟記所有的程序語法和function名稱,實在很困難,所以語法提示(Intellisense)的功能就非常重要,這些就必須靠IDE來達成。
在Windows平臺上,若要開發C/C++程序,我們有Microsoft Visual Studio、Borland C++ Builder可用,這些都是很好用的IDE,但可惜僅能在Windows下使用,但是在Linux平臺呢?基于以下理由,我推薦使用Eclipse開發C/C++程序:1.?Eclipse是一個用Java所撰寫IDE,因此可跨平臺,所以在Linux和Windows平臺下皆可使用Eclipse,可降低程序員熟析IDE的學習曲線。2.?Eclipse雖然主要拿來開發Java程序,但事實上Eclipse為一個『萬用語言』的IDE,只要掛上plugin后,就可以在Eclipse開發各種語言程序,所以我們只要掛上CDT(C/C++ Development Toolkit)后,就可以在Eclipse開發C/C++程序,除此之外,目前的主流程序語言,如C/C++、C#、Java、PHP、Perl、Python、Ruby、Rebol、JavaScript、SQL、XML、UML等,皆可在Eclipse上撰寫,所以只要熟析Eclipse的IDE環境,將來若開發其它語言程序,就不用再重新學習IDE環境了。3.?最重要的,Eclipse和CDT是Open Source且完全免費,取得相當容易,事實上Fedora 5已經包含Eclipse和CDT了,雖然預設Fedara 5安裝時并沒有含Eclipse,只要手動另外加選即可。
B.?如何在Linux下安裝Eclipse和CDT?? i.?由Linux Distribution安裝Eclipse,Fedora 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.?(將您所下載的檔的權限更改為可執行)????? [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????? (此時將顯示二進制許可協議,按控格顯示下一頁,讀完許可協議后,輸入 『yes』繼續安裝。此時會將解壓縮,產生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.?(設定環境變量,讓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.?(執行Eclipse)????? [root@localhost eclipse]#./eclipse????? vii.?(Select a workspace)????? (將Use this as the default and do not ask again打勾,以后就不會出現這個窗口)????? (第一次執行Eclipse會出現此error,因為沒有任何Eclipse設定檔,所以無法讀取,第二次執行Eclipse就無此錯誤訊息,按OK繼續。)????? (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上開發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類型(如執行檔或Library,這里選擇執行檔即可)? 5.?額外的設定? 6.?Open Associated Perspective?(選Yes繼續)? 7.?建立C++ Source File8.?輸入C++ Source File檔名? 9.?輸入C++程序代碼? 10.?執行程序(顯示在下方的Console區)ii.?如何在Eclipse CDT中Debug C/C++程序?1.?在Eclipse中Debug,就如同在一般IDE中Debug一樣,只要在程序代碼的左方按兩下,就可加入breakpoint。? 2.?啟動Debug? 3.?Debug設定,按Debug開始Debug? 4.?單步執行,顯示變量變化E.?結論Eclipse為Linux在C/C++開發提供一個完善的IDE環境,事實上,以我用過眾多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)