青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

MyMSDN

MyMSDN記錄開發新知道

用Eclipse+gcc編譯器開始你的旅程

 

c++
Eclipse(http://www.eclipse.org/

 

Eclipse是一個由IBM公司牽頭開發的一個自由軟件,后來IBM公司為了讓更多的公司積極參與進來而不至于讓它們因為這是一個由IBM主導的軟件而導致軟件開發者們拒之門外,Eclipse的身份則轉為由一個固定員工的組織所維護的非營利組織。它和所有的自由軟件一樣,被免費地提供給所有熱愛開源事業的人們,通過集體的智慧將它進行完善。

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+CDT,你仍然做不到這點。因為就算是針對C/C++的開發,我們仍然要經常面臨使用不同的編譯器進行編譯的情形。甚至有些語法特性和標準C++并無任何關聯,而僅與不同的編譯器有關。又或者有些源代碼在不同的編譯器編譯下會產生微妙不同的目標代碼,而這一些則需要我們更好地理解。就算我們期望有一種通用或者說是常用的方式來解決這個問題,我們仍然需要手動為自己配置一個簡單而通用的編譯器,盡管你從不了解編譯器方面的差異,你起碼也得有一個編譯器。那么好吧,既然Eclipse的安裝如此不盡人意,那我就只能自己動手了。

如果您看過我的上兩篇文章,您或許已經跟著做了,如果沒有,那么重復一遍。(《如何安裝MinGW 》、《如何安裝Minimal SYStem(MSYS)》)

如果您照上面那么做了,那么您的機器上已經有了MinGW和MSYS了,換言之,您已經有了gcc、make以及其它一些必要文件了。下面您需要做的只要設定一下環境變量即可。

設置環境變量步驟:

右鍵“我的電腦”(沒有“我的電腦”的用戶在桌面右鍵“屬性”,然后再“桌面”選項卡中自定義中將其選出,或者直接在Windows Explorer地址欄中輸入“我的電腦”,回車即可),選擇“屬性”,選擇“高級”選項卡,最下方有“環境變量”(或Alt+N打開),在下面窗格“系統變量”中,選擇變量“Path”,雙擊后出現“編輯系統變量”的選項。將我們MinGW的bin目錄全局路徑復制進去(一般可以復制在“變量值”的最前面,或者緊跟在任何一個“;”(分號,不包括引號)后),點擊確定,即可。

image

如果我現在告訴您可以編輯C/C++代碼了,您相信么?

好吧,那么就開始我們的第一個C/C++代碼的測試,以驗證我們的成果。

一個HelloWorld的基本步驟:

1、打開Eclipse

2、選擇一個“工作空間”(workspace)

image

3、選擇一個“工程”(Project)

image

4、在向導中設置項目名稱。這里我們將項目名稱設定為HelloEclipse,在存放路徑上,我們需要有所講究,如果我們勾選Use default location的話,我們的location位置將是步驟1中設置的路徑,我們通常需要設立子文件夾,以避免工程數量的增加而導致不同工程文件的交錯。深刻理解這一點,把兩種方案都試一下就可以了。

在Project types(項目類型)中,我們可以選擇一個Hello World ANSI C Project,在Toolchain中選擇MinGW GCC,這就是我們本機所擁有的編譯器了。

image

5、因為我們選擇了Hello World項目,所以我們還有一個基本設置的頁面,可以輸入一些個性化的信息。

image

6、如果您是在Windows上使用,則可以選擇高級設置(Advanced settings),選擇二進制轉換器的類型(如圖),當然,默認情況下是選好的因此,不用顧及該部分內容也依然會成功,但如果您遇到諸如此類的問題,則可以看看這里是否正確設置了。

image

相關路徑:C/C++ Build -> Settings -> Binary Parsers

image

點擊“OK”或者“Finish”即可完成。

7、編寫個代碼試試(其實系統已經為我們在src文件夾下生成了一個)

讓我們寫一個簡單的代碼試試

代碼如下:
#include <stdio.h>
void myputs(char * s);
int main()
{
char * s = "HelloEclipse!";
myputs(s);
return 0;
}
void myputs(char * s)
{
while(*s)
{
printf("%c",*s++);
}
return;
}
image
另外在菜單Project中有很多Build相關的選項,選擇Build Project后,等待編譯結束,然后點擊“Run”(綠色圖標),在最下方的選項卡中找到Console,即可看到輸出結果。

posted on 2008-10-01 03:08 volnet 閱讀(12578) 評論(12)  編輯 收藏 引用

評論

# re: 用Eclipse+gcc編譯器開始你的旅程[未登錄] 2008-08-01 22:47 feosun

On windows platform,VS is the most powerful and professional IDE, but in linux ur solution is a good choice.  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程 2008-08-02 09:43 Strive

貌似我就是用的這個開發環境,學習時就用MinGW Developer Studio。  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程 2008-08-02 10:35 yxxyun

相比這個,我更喜歡code::blocks,越用越喜歡。  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程 2008-08-02 12:12 Bill Hsu

VS好像更漂亮一點。。。  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程 2008-10-01 10:58 空明流轉

我用codeblocks。簡潔好用。  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程 2008-10-06 16:10 sean

怎么在linux下 用Eclipse+GCC 來編程??  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程 2008-10-06 19:29 volnet

@sean
這是在Windows下~  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程[未登錄] 2008-10-10 10:08 Xshl5

工具畢竟只是輔助,往往在為我們提供方便的同時丟掉了原有的靈活;作為一個程序員,我們有權利和義務了解從源代碼到執行程序過程中,編譯器為我們做了什么,只有深入了解計算機系統,才能寫出高效的代碼。所以從學習技術的角度看,我們不要太過于依賴IDE;當然從商業開發的角度看,IDE能大大提高我們的開發效率。即使是VS的開發者,他們在開發的過程中也不會使用什么IDE。。  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程 2008-10-11 00:04 volnet

@Xshl5
你說的很對,不過寫這篇文章的目的,也就是減輕大家在安裝它的時候出現的麻煩,如果被這兒卡住了,或許很多人就完全失去興趣了。人們總是不愿意見到異常和錯誤,這會讓他們不舒服。
至于樓主說的VS的開發者,我們也不應該蠻目跟風,究竟他們怎么開發,都已經是以訛傳訛的事,畢竟咱連小系統都開發地頭暈腦脹,就沒有必要一開始就跟著大牛,這同樣會降低開發者的興趣。
入門的門檻也可能會影響這個行業的規模。沒有微軟簡便的開發模式,現在計算機的普及率肯定還是慘不忍睹,而Linux那些高深理論總是在人們循序漸進過后慢慢回味才會覺得耐人尋味。但我們決不能忽視入門者的功勞,沒有他們我們甚至可能和計算機無緣,也許十年后我們才能感受到計算機的好處。也許這十年我們還在重復著過去十年的工作。也許一切都不是如此發達……這里我們也需要感謝集成和快速。他們功不可沒。  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程 2008-10-12 20:28 Wick

@feosun
如果版權收到嚴格保護,那么考慮花費幾百美金來買正版Visual Studio 2008軟件,我相信這個方案的價值會提升很多。

@Xshl5
樓主這篇文章不是在討論IDE的意義,而是在向各位推薦另一個C++平臺。

  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程[未登錄] 2008-10-17 11:03 raof01

我也覺得codeblocks好用。如果在linux上,vim+plugins會是相當好的選擇,anjuta也不錯。
當然,如果在win上開發app或者做prototype,還是vs比較好,畢竟是RAD工具嘛。
如果不做RAD,自己編寫makefile和腳本來管理src樹、進行開發能極大提高效率  回復  更多評論   

# re: 用Eclipse+gcc編譯器開始你的旅程[未登錄] 2012-09-14 22:17 cc

非常感謝,隨著這是樓主2008年的帖子了,但還是給了我很大的幫助,真的非常感謝想您這樣熱心的人。
我現在用的是筆記本自帶的win7家庭普通版,64位。
用的是C/C++ Eclipse,Build id: 20120614-1722
Mingw的版本是mingw-get-inst-20120426

現在的Mingw安裝和你的截圖已經有些出入了,可以在安裝Mingw的時候選擇同時安裝MSYS了。

不過目前我用起來還是有點小問題,點run運行C代碼的時候,會提示
Launch failde. Binary not found.
后來找到辦法在Eclipse中的project中建立target解決了,雖然麻煩了點,但至少可以正常編譯。

還是要謝謝樓主,之前用Eclipse沒成功,放棄了很長時間了。  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


特殊功能
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            最近看过的日韩成人| 亚洲精品免费网站| 性欧美8khd高清极品| 中文网丁香综合网| 国产精品免费电影| 欧美一区影院| 欧美一级久久| 亚洲动漫精品| 日韩一二三在线视频播| 欧美视频在线观看视频极品| 午夜精品理论片| 性8sex亚洲区入口| 亚洲国产三级| 中日韩在线视频| 狠狠久久亚洲欧美专区| 亚洲国产欧美一区| 欧美新色视频| 免费在线欧美视频| 欧美日韩美女一区二区| 欧美一区三区二区在线观看| 久久久午夜精品| 一本不卡影院| 欧美综合国产精品久久丁香| 日韩亚洲欧美成人| 香蕉乱码成人久久天堂爱免费 | 日韩一二三在线视频播| 国产伦精品一区二区三区免费迷| 久久久久网站| 欧美日韩视频在线第一区| 久久久www成人免费精品| 欧美大胆a视频| 久久精品毛片| 国产精品jvid在线观看蜜臀| 美女国内精品自产拍在线播放| 欧美日韩一区二区视频在线 | 久久久精品五月天| 欧美日韩dvd在线观看| 久久久人人人| 国产精品欧美久久| 91久久黄色| 亚洲电影在线观看| 亚洲欧美一区二区三区久久 | 亚洲五月六月| 美女精品在线| 老妇喷水一区二区三区| 国产精品永久| 亚洲视频免费在线观看| 亚洲九九九在线观看| 久久久久久免费| 欧美在线影院| 国产精品久久久久久亚洲毛片| 亚洲高清123| 狠狠色综合一区二区| 亚洲嫩草精品久久| 香蕉乱码成人久久天堂爱免费| 欧美精品国产| 亚洲精品美女久久7777777| 亚洲高清123| 久色成人在线| 麻豆精品在线视频| 影音先锋日韩有码| 久久精品国产免费观看| 久久成人这里只有精品| 国产日韩免费| 欧美一区二区三区四区视频| 久久xxxx| 国模一区二区三区| 久久久噜噜噜久久狠狠50岁| 美女视频网站黄色亚洲| 韩国精品一区二区三区| 久久久精品动漫| 免费亚洲一区二区| 91久久一区二区| 欧美激情欧美激情在线五月| 亚洲毛片播放| 亚洲男人天堂2024| 国产日韩精品视频一区| 久久精品国产综合| 欧美国产三区| 亚洲一区二区成人| 国产欧美一区二区在线观看| 久久精品欧洲| 亚洲国产欧洲综合997久久| 99re6这里只有精品视频在线观看| 欧美欧美天天天天操| 亚洲一区高清| 久久影视精品| 日韩视频一区| 国产精品一区二区黑丝| 久久久久国产精品一区三寸| 亚洲国产日韩在线| 午夜视频一区| 亚洲国产三级网| 欧美亚州在线观看| 久久精品视频播放| 日韩一级精品| 久久最新视频| 亚洲系列中文字幕| 一区免费视频| 欧美色播在线播放| 久久婷婷激情| 亚洲无亚洲人成网站77777| 久久综合给合久久狠狠色| 一区二区三区四区五区精品视频| 国产精品综合不卡av| 欧美高清在线精品一区| 午夜久久美女| 亚洲久久视频| 欧美freesex交免费视频| 亚洲免费婷婷| 99热在线精品观看| 狠狠色伊人亚洲综合成人| 欧美日韩妖精视频| 欧美777四色影视在线| 午夜精品久久久久久久99樱桃| 亚洲狠狠婷婷| 欧美成人国产一区二区| 欧美专区在线| 亚洲欧美国产高清| 99视频+国产日韩欧美| 亚洲国产成人av| 国内精品久久久久久久影视麻豆| 欧美日韩亚洲综合在线| 欧美大胆人体视频| 浪潮色综合久久天堂| 久久国产免费看| 亚洲综合色网站| 在线一区二区三区四区| 亚洲精选视频免费看| 欧美国产在线观看| 免费一区二区三区| 美女露胸一区二区三区| 久久久久九九九九| 久久av资源网| 久久av一区二区三区| 欧美亚洲综合另类| 亚洲欧美综合精品久久成人| 亚洲午夜国产一区99re久久| 一二三区精品| 一区二区免费在线视频| 一区二区三区精品国产| 一区二区三区蜜桃网| 99国内精品久久久久久久软件| 亚洲精品激情| 夜夜爽夜夜爽精品视频| 亚洲天堂黄色| 午夜精品网站| 欧美在线影院| 久热综合在线亚洲精品| 欧美va日韩va| 亚洲国产欧美一区| 亚洲巨乳在线| 亚洲深爱激情| 欧美亚洲色图校园春色| 久久激情五月婷婷| 久久综合伊人| 欧美精品一区二区三区很污很色的 | 夜夜夜精品看看| 亚洲图片欧洲图片av| 亚洲一区二区三区在线播放| 亚洲欧美激情诱惑| 久久免费国产精品1| 欧美黄色一级视频| 国产精品成人一区二区网站软件 | 狠狠干综合网| 亚洲人精品午夜在线观看| 中国av一区| 久久久久国内| 亚洲精品国产精品国自产观看浪潮 | 亚洲欧美日韩国产| 狂野欧美激情性xxxx| 亚洲人成网在线播放| 亚洲一区二区三区高清不卡| 久久久国产一区二区三区| 欧美成人午夜剧场免费观看| 欧美亚一区二区| 有坂深雪在线一区| 亚洲午夜精品久久| 美日韩精品免费| 日韩视频―中文字幕| 久久久久国产精品www| 欧美日韩一区二区三区四区五区| 国产日韩欧美另类| 日韩一本二本av| 久久国内精品视频| 99re视频这里只有精品| 久久国产手机看片| 国产精品成人aaaaa网站| 亚洲成人在线网| 欧美一级视频| 日韩视频中文字幕| 久久亚洲综合网| 国产亚洲欧美一区二区| 亚洲视频自拍偷拍| 欧美大秀在线观看| 久久精品免费电影| 国产伦精品一区二区三区照片91| 99riav国产精品| 欧美大片在线观看| 久久频这里精品99香蕉|