• <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>

            MyMSDN

            MyMSDN記錄開發(fā)新知道

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

             

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

             

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

            Eclipse是一款跨平臺的IDE,它既不是編譯器,也不是簡單的編輯器,它提供了一個開放的平臺用于為各種各樣的編譯器,開源或者不開源的,提供一個能夠共同操作的平臺。由于它是一款基于Java虛擬機的應用軟件,因此它同時也是一款跨平臺的IDE。跨平臺的特性讓它的存在有了更有征服力的理由。眾所周知,Linux是開源社區(qū)中的一顆璀璨奪目的明珠,以Linux為核心的開源軟件組織也是數(shù)不勝數(shù),無數(shù)人為之奮斗傾盡心血。但是作為開發(fā)人員,Windows平臺上的Visual Studio一貫的平易近人(不是指價格上)讓所有的程序員所稱贊。就算是要搞Borland Delphi也有一款優(yōu)秀的IDE在實時待命。但是在Linux上有啥?對于骨灰級的程序員,拿個Emacs甚至一個記事本就可以將編程進行到底。他們追求的無非就是換行和顯色等漂亮點的效果,對于項目級的維護和便利并沒有過高的要求,也許是一種習慣,也許是一種妥協(xié)。但是這一切因為Eclipse的出現(xiàn)而大大變樣了,程序員從紛繁的makefile中解脫出來專心于邏輯代碼的編寫,很多自動化的組件出現(xiàn)更增加了程序的健壯性。雖然舊式的編碼方式顯得更專業(yè),但還是一定程度上束縛了生產(chǎn)力的發(fā)展。

            多說無益,反正IDE的出現(xiàn)總是預示著編程門檻的降低,隨之而來帶來的就是在該平臺上的投入的人員越來越多而讓這個平臺能夠接受越來越多的人來參與。這對這個產(chǎn)業(yè)絕對是“生產(chǎn)力大獎”的。

            CDT(http://www.eclipse.org/cdt/

            CDT英文全稱是C/C++ Developer Tools,CDT是為Eclipse平臺提供集成開發(fā)環(huán)境的一個項目。我們知道將Eclipse+CDT就可以用于開發(fā)C++了,現(xiàn)在又說這CDT也是個IDE,這是怎么回事呢?事實是這樣的,因為Eclipse是個開放的平臺,所以它希望所有的開發(fā)者都能夠參與進來。但是現(xiàn)在市面上流行的語言種類太多了,多得有點數(shù)不過來,有些甚至只有少數(shù)幾個人自己會用(比如中文編程語言吧)。所以Eclipse公開了自己的部分接口讓這些語言能夠定義帶有自己特征的部分功能。可以這么理解,Eclipse定義了IDE的共性部分,而類似CDT這樣的則定義了IDE的個性部分。所以它是專門針對C/C++IDE的個性化組件。有了它,用Eclipse寫C/C++代碼才顯得更有價值。

            CDT的組件安裝,則是將安裝包解壓后,直接覆蓋到Eclipse的目錄下,重新啟動Eclipse即可。關(guān)于這點內(nèi)容可能根據(jù)具體的版本會略有不同。當然最簡單的方式是下載C/C++版本的Eclipse

            編譯器(Complier)

            每一個科班出身的程序員對這個詞都耳熟能詳,每個人對這個詞都有自己的理解。但是真正接觸過的程序員又有多少呢?來一段軟件開發(fā)技術(shù)發(fā)展的簡史,傳說在很久以前,搞計算機的都是科學家,那時候大家剛剛從硬件電板上轉(zhuǎn)到鍵盤編碼的過程中來,用匯編+DOS似乎是一件很享受的事,但是那批科學家已經(jīng)青春不在了。新來的年輕人又弄出了高級語言這種接近人類思維的語言,很快匯編就成為了專屬領域的內(nèi)容,能用高級語言的地方,沒有人愿意讓匯編有用武之地。很快匯編也漸漸淡出視線。然后就是圖形化界面的出現(xiàn),但這本身并沒有改變?nèi)藗兪褂镁幾g器的方式。無非就是換成記事本去編寫代碼罷了。但是圖形化的出現(xiàn)促使了圖形化IDE的出現(xiàn),人們發(fā)現(xiàn)編譯事實上又是遵循一定規(guī)律的集合,這部分可以很容易地通過一些編程上的限制或者通過代碼可以整理出人們期待的編譯方式,于是很快makefile一類的事也變成人們可以淡忘的事了。現(xiàn)在人們使用許多優(yōu)秀的IDE,編譯不過只是按一下“編譯”或者輸入個快捷方式。那些難記的參數(shù)早已經(jīng)忘到九霄云外了。由于編程的門檻在大大降低,所以是越來越多的程序員跟編譯器無一面之緣了。我們稱他們都是被慣壞的程序員,當然并不表示他們就怎么不好了,只是一個社會現(xiàn)象罷了。正如我們會用白米煮飯,并不需要我們?nèi)ダ斫夤茸拥膭兤し绞剑膊恍枰ダ斫馑镜姆N植。我們只要懂得選擇哪種米能煮出更好吃的米飯就可以了。當然了,這一點在Windows平臺上顯得更為常見,因為Windows是最普及也是很優(yōu)秀的一款圖形化的操作系統(tǒng)。但是在Unix上,計算機的發(fā)展還沒有那么文明。這里的大多數(shù)程序員從水稻種植到磨成白米,樣樣都得會,不然連HelloWorld都整不出來。而且每次要Say Hello就得重頭開始寫makefile,手動編譯等。雖然這看起來很酷,但是沒有多少意思。

            C/C++的編譯器很多,比較常見的優(yōu)秀作品有MS C++,GCC(G++),Borland C++等,其中在Windows平臺上基本都用MS C++,而且MS C++也是截至我發(fā)稿時最接近ISO C++標準的編譯器(據(jù)說已經(jīng)實現(xiàn)了標準的98%以上),但是在Linux平臺上,則多數(shù)是以GCC為主,其中GNU GCC Complier則是其中的佼佼者,但是它的標準化只達到了(94%以上,但是之前一直優(yōu)于MS C++,即便如此,大部分的Linux C++開發(fā)人員仍然親睞GCC,因為它是OpenSource的)。

            經(jīng)過簡單的一段介紹,我們應該對編譯器有了一點感覺了,可是這和我們這篇主題有啥關(guān)系?我只是一個希望點一下“編譯”按鈕的讀者,我并不希望makefile然后才編譯。這一切似乎和我沒啥關(guān)系。不過我告訴你,就了Eclipse+CDT,你仍然做不到這點。因為就算是針對C/C++的開發(fā),我們?nèi)匀灰?jīng)常面臨使用不同的編譯器進行編譯的情形。甚至有些語法特性和標準C++并無任何關(guān)聯(lián),而僅與不同的編譯器有關(guān)。又或者有些源代碼在不同的編譯器編譯下會產(chǎn)生微妙不同的目標代碼,而這一些則需要我們更好地理解。就算我們期望有一種通用或者說是常用的方式來解決這個問題,我們?nèi)匀恍枰謩訛樽约号渲靡粋€簡單而通用的編譯器,盡管你從不了解編譯器方面的差異,你起碼也得有一個編譯器。那么好吧,既然Eclipse的安裝如此不盡人意,那我就只能自己動手了。

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

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

            設置環(huán)境變量步驟:

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

            image

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

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

            一個HelloWorld的基本步驟:

            1、打開Eclipse

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

            image

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

            image

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

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

            image

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

            image

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

            image

            相關(guān)路徑:C/C++ Build -> Settings -> Binary Parsers

            image

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

            7、編寫個代碼試試(其實系統(tǒng)已經(jīng)為我們在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相關(guān)的選項,選擇Build Project后,等待編譯結(jié)束,然后點擊“Run”(綠色圖標),在最下方的選項卡中找到Console,即可看到輸出結(jié)果。

            posted on 2008-10-01 03:08 volnet 閱讀(12515) 評論(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

            貌似我就是用的這個開發(fā)環(huán)境,學習時就用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 空明流轉(zhuǎn)

            我用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

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

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

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

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

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

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

              回復  更多評論   

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

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

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

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

            現(xiàn)在的Mingw安裝和你的截圖已經(jīng)有些出入了,可以在安裝Mingw的時候選擇同時安裝MSYS了。

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

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

            特殊功能
             
            日韩十八禁一区二区久久| 日本三级久久网| 久久影院综合精品| 99久久久精品| 久久久久一级精品亚洲国产成人综合AV区 | 国产精品久久久久久久app| 久久人人爽人人爽人人片AV不| 一本色道久久HEZYO无码| 国产精品久久久久影院嫩草| 欧美日韩中文字幕久久久不卡| 国产精品久久午夜夜伦鲁鲁| 欧美激情精品久久久久久| 久久无码人妻一区二区三区| 日韩一区二区三区视频久久| 91精品国产91久久综合| 少妇人妻综合久久中文字幕 | 久久99精品久久久久久不卡| 久久不见久久见免费视频7| 久久久久黑人强伦姧人妻| 狠狠狠色丁香婷婷综合久久五月| 欧美午夜A∨大片久久| 国产成人综合久久久久久| 久久精品国产99久久久| 久久人人爽人人爽人人片AV东京热| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久久WWW成人免费毛片| 久久精品国产99久久久| 伊人久久精品无码av一区| 久久久久国产成人精品亚洲午夜| 潮喷大喷水系列无码久久精品| 亚洲日本va中文字幕久久| 久久久久亚洲AV成人网人人网站 | 久久久女人与动物群交毛片| 久久99精品国产麻豆宅宅| 伊人久久大香线蕉综合5g| 亚洲精品高清一二区久久| 人妻中文久久久久| 久久这里都是精品| 无遮挡粉嫩小泬久久久久久久| 伊人久久综合成人网| 人妻无码αv中文字幕久久|