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

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 閱讀(12572) 評論(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>
            老司机精品视频一区二区三区| 亚洲国产精品久久久久婷婷884| 在线欧美三区| 国产精品一二三视频| 国产精品久久久久久av福利软件 | 亚洲最新中文字幕| 亚洲精选中文字幕| 亚洲一区二区精品在线观看| 亚洲一区二区视频| 欧美中文字幕视频| 蜜桃av噜噜一区| 亚洲激情黄色| 亚洲国产精品va在线看黑人动漫| 在线亚洲电影| 亚洲欧美一区二区三区极速播放| 国产综合香蕉五月婷在线| 国产色综合久久| 亚洲日本中文字幕区| 亚洲影视在线| 欧美肥婆在线| 午夜精品一区二区在线观看 | 久久久亚洲影院你懂的| 久久人人爽爽爽人久久久| 亚洲国产另类久久精品| 亚洲小视频在线| 久久香蕉国产线看观看av| 欧美风情在线观看| 国产精品网红福利| 亚洲另类一区二区| 久久久久久网| 国产精品99久久久久久久久久久久| 欧美激情中文字幕一区二区| 亚洲电影网站| 亚洲午夜精品网| 久久久久久噜噜噜久久久精品| 亚洲免费小视频| 快射av在线播放一区| 9l国产精品久久久久麻豆| 久久在线免费视频| 好吊一区二区三区| 午夜久久久久| 一区二区三区成人精品| 欧美精品在线极品| 最新中文字幕亚洲| 久久久福利视频| 亚洲一区二区三区中文字幕 | 免费看黄裸体一级大秀欧美| 欧美午夜激情视频| 99国产精品久久久久老师| 欧美成人激情在线| 久久精品综合| 极品日韩久久| 久久婷婷综合激情| 亚洲一区在线观看视频| 欧美日韩一级视频| 在线视频日韩| 99这里有精品| 欧美三级中文字幕在线观看| 亚洲乱码一区二区| 亚洲七七久久综合桃花剧情介绍| 亚洲人成网在线播放| 久久夜色精品国产| 国产日韩欧美综合在线| 欧美制服丝袜第一页| 亚洲女人小视频在线观看| 国产精品捆绑调教| 校园春色国产精品| 欧美专区福利在线| 亚洲电影在线看| 欧美激情精品久久久久久| 老司机精品久久| 亚洲三级影院| 亚洲精品资源美女情侣酒店| 欧美日韩视频在线观看一区二区三区 | 在线日韩av片| 久久久一区二区| 久久精品亚洲一区二区| 亚洲国产精品成人久久综合一区| 亚洲午夜一区二区三区| 亚洲国产综合视频在线观看| 欧美成人午夜77777| 亚洲深夜福利视频| 性8sex亚洲区入口| 亚洲韩日在线| 亚洲一区二区欧美| 永久免费精品影视网站| 亚洲精品日本| 国产一区二区三区的电影| 99国产精品99久久久久久粉嫩| 欧美亚洲综合在线| 亚洲一区视频在线观看视频| 国产主播一区二区三区| 亚洲国产精品一区二区www| 欧美三级电影一区| 久久躁狠狠躁夜夜爽| 欧美日本免费一区二区三区| 欧美一区国产在线| 欧美激情视频网站| 久久久国产午夜精品| 欧美日韩国产成人| 美国十次了思思久久精品导航| 亚洲影音一区| 国内久久精品视频| 一级日韩一区在线观看| 狠狠久久亚洲欧美| 中文国产亚洲喷潮| 亚洲精品视频免费观看| 欧美一区二区三区四区高清 | 亚洲电影av| 亚洲看片网站| 亚洲激情亚洲| 久久精品亚洲国产奇米99| 亚洲五月六月| 欧美电影在线| 欧美91大片| 国模一区二区三区| 一本色道久久| 99这里只有久久精品视频| 久久久精品性| 久久精品国产99国产精品澳门| 亚洲欧美国产精品专区久久| 亚洲国产日韩在线一区模特| 亚洲淫性视频| 亚洲欧美一区二区三区在线| 欧美精品18| 亚洲福利视频网| 永久免费视频成人| 久久精品国产成人| 久久综合电影| 好看的日韩视频| 欧美中文字幕第一页| 久久大逼视频| 国产亚洲日本欧美韩国| 性欧美大战久久久久久久免费观看| 国精品一区二区| 亚洲欧美日韩中文在线制服| 亚洲一区二区三区精品在线观看 | 一本久久综合| 久久久久一区二区三区四区| 久久久久久欧美| 在线成人黄色| 蜜乳av另类精品一区二区| 免费亚洲电影在线观看| 亚洲第一福利社区| 免费在线成人| 亚洲久久一区二区| 午夜性色一区二区三区免费视频| 久久久久久久久岛国免费| 久久久久一区二区三区| 一区二区三区我不卡| 免费人成精品欧美精品| 欧美成人自拍视频| 欧美激情成人在线视频| 亚洲精品久久久久久久久久久久久 | 国产精品久久国产精品99gif| 亚洲女人小视频在线观看| 国产精品成人v| 亚洲尤物视频网| 久久综合久久88| 99成人免费视频| 国产精品中文字幕欧美| 久久久www成人免费无遮挡大片| 亚洲午夜电影| 国产三级欧美三级日产三级99| 女仆av观看一区| 999在线观看精品免费不卡网站| 亚洲午夜小视频| 久久精品国产999大香线蕉| 1769国内精品视频在线播放| 欧美裸体一区二区三区| 在线视频欧美精品| 久久视频在线免费观看| 日韩视频一区二区三区| 国产精品主播| 免费不卡视频| 性18欧美另类| 夜夜嗨av色一区二区不卡| 久久这里有精品15一区二区三区| 国产精品福利在线观看| 久久久国产精品一区| 日韩视频中文| 免费精品视频| 欧美主播一区二区三区美女 久久精品人 | 久久精品网址| 夜久久久久久| 在线播放国产一区中文字幕剧情欧美 | 国产一区二区三区久久久| 欧美刺激性大交免费视频| 欧美一二三区精品| 日韩写真在线| 欧美电影免费| 久久先锋影音| 久久精品国产91精品亚洲| 中文网丁香综合网| 影音先锋日韩资源| 国产亚洲欧美中文| 国产人久久人人人人爽| 欧美三级网址| 欧美日韩一区二区免费视频| 欧美成人免费在线视频|