Eclipse(http://www.eclipse.org/)
Eclipse是一個由IBM公司牽頭開發的一個自由軟件,后來IBM公司為了讓更多的公司積極參與進來而不至于讓它們因為這是一個由IBM主導的軟件而導致軟件開發者們拒之門外,Eclipse的身份則轉為由一個固定員工的組織所維護的非營利組織,
用Eclipse+gcc編譯器開始你的旅程
。它和所有的自由軟件一樣,被免費地提供給所有熱愛開源事業的人們,通過集體的智慧將它進行完善。Eclipse是一款跨平臺的IDE,它既不是編譯器,也不是簡單的編輯器,它提供了一個開放的平臺用于為各種各樣的編譯器,開源或者不開源的,提供一個能夠共同操作的平臺。由于它是一款基于Java虛擬機的應用軟件,因此它同時也是一款跨平臺的IDE。跨平臺的特性讓它的存在有了更有征服力的理由。眾所周知,Linux是開源社區中的一顆璀璨奪目的明珠,以Linux為核心的開源軟件組織也是數不勝數,無數人為之奮斗傾盡心血。但是作為開發人員,Windows平臺上的Visual Studio一貫的平易近人(不是指價格上)讓所有的程序員所稱贊。就算是要搞Borland Delphi也有一款優秀的IDE在實時待命。但是在Linux上有啥?對于骨灰級的程序員,拿個Emacs甚至一個記事本就可以將編程進行到底。他們追求的無非就是換行和顯色等漂亮點的效果,對于項目級的維護和便利并沒有過高的要求,也許是一種習慣,也許是一種妥協。但是這一切因為Eclipse的出現而大大變樣了,程序員從紛繁的makefile中解脫出來專心于邏輯代碼的編寫,很多自動化的組件出現更增加了程序的健壯性。雖然舊式的編碼方式顯得更專業,但還是一定程度上束縛了生產力的發展。
多說無益,反正IDE的出現總是預示著編程門檻的降低,隨之而來帶來的就是在該平臺上的投入的人員越來越多而讓這個平臺能夠接受越來越多的人來參與。這對這個產業絕對是“生產力大獎”的。
CDT(http://www.eclipse.org/cdt/)
CDT英文全稱是C/C++ Developer Tools,CDT是為Eclipse平臺提供集成開發環境的一個項目。我們知道將Eclipse+CDT就可以用于開發C++了,現在又說這CDT也是個IDE,這是怎么回事呢?事實是這樣的,因為Eclipse是個開放的平臺,所以它希望所有的開發者都能夠參與進來。但是現在市面上流行的語言種類太多了,多得有點數不過來,有些甚至只有少數幾個人自己會用(比如中文編程語言吧)。所以Eclipse公開了自己的部分接口讓這些語言能夠定義帶有自己特征的部分功能。可以這么理解,Eclipse定義了IDE的共性部分,而類似CDT這樣的則定義了IDE的個性部分。所以它是專門針對C/C++IDE的個性化組件。有了它,用Eclipse寫C/C++代碼才顯得更有價值。
CDT的組件安裝,則是將安裝包解壓后,直接覆蓋到Eclipse的目錄下,重新啟動Eclipse即可。關于這點內容可能根據具體的版本會略有不同。當然最簡單的方式是下載C/C++版本的Eclipse。
編譯器(Complier)
每一個科班出身的程序員對這個詞都耳熟能詳,每個人對這個詞都有自己的理解。但是真正接觸過的程序員又有多少呢?來一段軟件開發技術發展的簡史,傳說在很久以前,搞計算機的都是科學家,那時候大家剛剛從硬件電板上轉到鍵盤編碼的過程中來,用匯編+DOS似乎是一件很享受的事,但是那批科學家已經青春不在了。新來的年輕人又弄出了高級語言這種接近人類思維的語言,很快匯編就成為了專屬領域的內容,能用高級語言的地方,沒有人愿意讓匯編有用武之地。很快匯編也漸漸淡出視線。然后就是圖形化界面的出現,但這本身并沒有改變人們使用編譯器的方式。無非就是換成記事本去編寫代碼罷了。但是圖形化的出現促使了圖形化IDE的出現,人們發現編譯事實上又是遵循一定規律的集合,這部分可以很容易地通過一些編程上的限制或者通過代碼可以整理出人們期待的編譯方式,于是很快makefile一類的事也變成人們可以淡忘的事了。現在人們使用許多優秀的IDE,編譯不過只是按一下“編譯”或者輸入個快捷方式。那些難記的參數早已經忘到九霄云外了。由于編程的門檻在大大降低,所以是越來越多的程序員跟編譯器無一面之緣了。我們稱他們都是被慣壞的程序員,當然并不表示他們就怎么不好了,只是一個社會現象罷了。正如我們會用白米煮飯,并不需要我們去理解谷子的剝皮方式,也不需要去理解水稻的種植。我們只要懂得選擇哪種米能煮出更好吃的米飯就可以了。當然了,這一點在Windows平臺上顯得更為常見,因為Windows是最普及也是很優秀的一款圖形化的操作系統。但是在Unix上,計算機的發展還沒有那么文明。這里的大多數程序員從水稻種植到磨成白米,樣樣都得會,不然連HelloWorld都整不出來。而且每次要Say Hello就得重頭開始寫makefile,手動編譯等。雖然這看起來很酷,但是沒有多少意思。
C/C++的編譯器很多,比較常見的優秀作品有MS C++,GCC(G++),Borland C++等,其中在Windows平臺上基本都用MS C++,而且MS C++也是截至我發稿時最接近ISO C++標準的編譯器(據說已經實現了標準的98%以上),但是在Linux平臺上,則多數是以GCC為主,其中GNU GCC Complier則是其中的佼佼者,但是它的標準化只達到了(94%以上,但是之前一直優于MS C++,即便如此,大部分的Linux C++開發人員仍然親睞GCC,因為它是OpenSource的)。
經過簡單的一段介紹,我們應該對編譯器有了一點感覺了,可是這和我們這篇主題有啥關系?我只是一個希望點一下“編譯”按鈕的讀者,我并不希望makefile然后才編譯,
管理資料
《用Eclipse+gcc編譯器開始你的旅程》(http://salifelink.com)。這一切似乎和我沒啥關系。不過我告訴你,就算Eclipse+CDT,你仍然做不到這點。因為就算是針對C/C++的開發,我們仍然要經常面臨使用不同的編譯器進行編譯的情形。甚至有些語法特性和標準C++并無任何關聯,而僅與不同的編譯器有關。又或者有些源代碼在不同的編譯器編譯下會產生微妙不同的目標代碼,而這一些則需要我們更好地理解。就算我們期望有一種通用或者說是常用的方式來解決這個問題,我們仍然需要手動為自己配置一個簡單而通用的編譯器,盡管你從不了解編譯器方面的差異,你起碼也得有一個編譯器。那么好吧,既然Eclipse的安裝如此不盡人意,那我就只能自己動手了。如果您看過我的上兩篇文章,您或許已經跟著做了,如果沒有,那么重復一遍。(《如何安裝MinGW 》、《如何安裝Minimal SYStem(MSYS)》)
如果您照上面那么做了,那么您的機器上已經有了MinGW和MSYS了,換言之,您已經有了gcc、make以及其它一些必要文件了。下面您需要做的只要設定一下環境變量即可。
設置環境變量步驟:
右鍵“我的電腦”(沒有“我的電腦”的用戶在桌面右鍵“屬性”,然后再“桌面”選項卡中自定義中將其選出,或者直接在Windows Explorer地址欄中輸入“我的電腦”,回車即可),選擇“屬性”,選擇“高級”選項卡,最下方有“環境變量”(或Alt+N打開),在下面窗格“系統變量”中,選擇變量“Path”,雙擊后出現“編輯系統變量”的選項。將我們MinGW的bin目錄全局路徑復制進去(一般可以復制在“變量值”的最前面,或者緊跟在任何一個“;”(分號,不包括引號)后),點擊確定,即可。
如果我現在告訴您可以編輯C/C++代碼了,您相信么?
好吧,那么就開始我們的第一個C/C++代碼的測試,以驗證我們的成果。
一個HelloWorld的基本步驟:
1、打開Eclipse
2、選擇一個“工作空間”(workspace)
3、選擇一個“工程”(Project)
4、在向導中設置項目名稱。這里我們將項目名稱設定為HelloEclipse,在存放路徑上,我們需要有所講究,如果我們勾選Use default location的話,我們的location位置將是步驟1中設置的路徑,我們通常需要設立子文件夾,以避免工程數量的增加而導致不同工程文件的交錯。深刻理解這一點,把兩種方案都試一下就可以了。
在Project types(項目類型)中,我們可以選擇一個Hello World ANSI C Project,在Toolchain中選擇MinGW GCC,這就是我們本機所擁有的編譯器了。
5、因為我們選擇了Hello World項目,所以我們還有一個基本設置的頁面,可以輸入一些個性化的信息。
6、如果您是在Windows上使用,則可以選擇高級設置(Advanced settings),選擇二進制轉換器的類型(如圖),當然,默認情況下是選好的因此,不用顧及該部分內容也依然會成功,但如果您遇到諸如此類的問題,則可以看看這里是否正確設置了。
相關路徑:C/C++ Build -> Settings -> Binary Parsers
點擊“OK”或者“Finish”即可完成。
7、編寫個代碼試試(其實系統已經為我們在src文件夾下生成了一個)
讓我們寫一個簡單的代碼試試
代碼如下:
#include <stdio.h><span>void</span>myputs(<span>char</span>* s);<span>int</span>main(){<span>char</span>* s = "<span>HelloEclipse!</span>"; myputs(s);<span>return</span>0;}<span>void</span>myputs(<span>char</span>* s){<span>while</span>(*s) { printf("<span>%c</span>",*s++); }<span>return</span>;}
另外在菜單Project中有很多Build相關的選項,選擇Build Project后,等待編譯結束,然后點擊“Run”(綠色圖標),在最下方的選項卡中找到Console,即可看到輸出結果。
來自:http://www.cppblog.com/mymsdn/archive/2008/08/01/57789.html