當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]Eclipse是一款被廣泛應(yīng)用的開發(fā)工具,最初它是為編寫Java程序而設(shè)計的,但由于它良好的架構(gòu)并作為開源軟件來發(fā)行,有很多的公司和個人以它為基礎(chǔ)開發(fā)了插件,使得Eclipse有了越來越豐富的功能。C

Eclipse是一款被廣泛應(yīng)用的開發(fā)工具,最初它是為編寫Java程序而設(shè)計的,但由于它良好的架構(gòu)并作為開源軟件來發(fā)行,有很多的公司和個人以它為基礎(chǔ)開發(fā)了插件,使得Eclipse有了越來越豐富的功能。

CDT (C/C++ Development Tooling)是Eclipse的一個插件,它為Eclipse提供了開發(fā)C/C++項目的支持,大家可以用它來編寫自己的程序。

下面簡單介紹一下Eclipse CDT的安裝和使用方法。


Eclipse 的安裝

Eclipse 是用 Java 語言編寫的軟件,要運行它,就必須首先安裝Java虛擬機軟件。要開發(fā)C語言的程序,就必須有C語言的Toolchain(編譯器、鏈接器、調(diào)試器等各種系統(tǒng)工具),Eclipse中并不提供這些功能,我們需要單獨安裝。



安裝 Java 虛擬機

Win32

從校內(nèi)FTP服務(wù)器10.1.0.155下載Java虛擬機,并運行安裝。


Linux

Ubuntu Linux 中已經(jīng)帶有 Java 虛擬機,執(zhí)行命令:

apt-get install sun-java6-jdk

便可以安裝。



安裝 Toolchain (編譯器、鏈接器和調(diào)試器)

Win32

在Windows上,我們可以使用GNU為我們提供的Toolchain,其中一個比較容易使用的版本是MinGW,它包括了GNU GCC、binutils、gdb等工具包。

可以從ftp://10.1.0.155/pub/Develop/IDE/Eclipse.CDT/mingw.exe下載,下載后執(zhí)行,并將它們解壓到C盤根目錄中。注意,必須是C盤的根目錄,不要吝惜你的C盤,編譯器這樣重要的東西絕對有必要放在上面。解壓后,MinGW即被安裝在C:mingw內(nèi)。

如果你希望能夠從命令行啟動gcc等程序,可以修改PATH,并將C:mingwbin加入其中。



Linux

大多數(shù)的Linux系統(tǒng)都會安裝有GNU的Toolchain,在Ubuntu Linux上,如果你的系統(tǒng)沒有安裝,請使用命令

apt-get install build-essential 來安裝。


安裝 Eclipse For C/C++

從ftp://10.1.0.155/pub/Develop/IDE/Eclipse.CDT/下載跟自己的系統(tǒng)相對應(yīng)的版本,并解壓到磁盤上即可,不需要特殊的安裝程序。這個版本的Eclipse,并未包含開發(fā)Java的功能。



運行Eclipse

在安裝好Eclipse之后,執(zhí)行該目錄中的eclipse.exe和eclipse文件即可開啟它。由于Eclipse是一個功能非常豐富的系統(tǒng),啟動它會需要一些時間,特別是在配置比較低的電腦上


選擇Workspace

Eclipse一旦運行,便會彈出一個窗口,要求用戶選擇一個工作空間(Workspace),在Eclipse運行之后,所有的項目和文件缺省情況下都會存儲在這個工作空間中,并且我們對Eclipse進(jìn)行的任何設(shè)置也都是和Workspace相關(guān)聯(lián)的。因此除非有特別的需要,沒有什么必要經(jīng)常切換工作空間。

選擇好后點確定鍵,Eclipse會繼續(xù)啟動進(jìn)程。

Eclipse窗口的組成

Eclipse的窗口由很多個部分組成,其中每一個部分稱為一個View,而將一些View按照一定的布局組合在一起,則稱為一個Perspective。每個View都有自己的功能,而不同的Perspective則通常適用于不同的工作。譬如"C/C++"這個Perspective通常用來做C/C++的開發(fā),而"Debug"這個Perspective通常用來做Debug。

在屏幕的左上角,菜單的下面有按鈕可以切換Perspective,同樣,在Eclipse的菜單中也有項目專門用來做同樣的事情。



開發(fā)C語言程序

創(chuàng)建項目

與TC開發(fā)不同,在Eclipse中開發(fā)程序,必須首先創(chuàng)建一個項目,然后才能在這個項目中編寫自己的程序。否則即便編寫了程序也沒有辦法編譯、運行。創(chuàng)建項目的步驟如下:

File | New | Project?

1. 輸入項目的名字,注意不要使用中文,這可能導(dǎo)致一些奇怪的問題

2. 在Project Types中選擇Hello World ANSI C Project,這個類型的項目對于我們的程序設(shè)計課程是很合適的,見圖

3. 點擊Finish按鈕

這時在項目列表中就會看到新創(chuàng)建的項目。



打開源文件

展開項目內(nèi)容列表,會發(fā)現(xiàn)其中有src目錄,展開該目錄,可以看到一個與項目同名的C文件,雙擊這個文件即可看到Eclipse為我們生成的一個很簡單的Hello World程序。我們可以直接對其進(jìn)行修改,編寫自己的程序。



編輯源文件

編輯源文件并不困難,Eclipse會將代碼用多種顏色顯示代碼,并且會在文件編輯的過程中為我們維護代碼縮進(jìn)。除此以外,Eclipse還為程序員編寫源代碼提供了很多方便的功能,代碼代碼重排版就是其中的一個。

代碼重排版

在編寫代碼的過程中,由于各種的原因,代碼的格式會發(fā)生變化,會混亂,不再符合我們課程提供的要求。這時,可以使用代碼重排版直接調(diào)整代碼的格式。具體的操作步驟為:

Ctrl-A選擇全部源代碼 Ctrl-Shift-F對代碼進(jìn)行重排版

排版之后的格式基本上是符合我們的要求的,同時看起來也會更清晰。

Build

編寫好代碼之后,在執(zhí)行程序之前首先是編譯鏈接,在Eclipse中,這個步驟稱為Build Project。點擊工具欄上的錘子圖標(biāo),如下圖中(1)所示



在Build時,若程序中有錯誤,Eclipse會將它顯示出來。行首的紅色或者黃色標(biāo)記分別表示錯誤和警告,如圖中(2)所示。錯誤的具體原因,會顯示在屏幕的下方,如圖中(3)所示。

如果有錯誤,Eclipse是不能生成最終的可執(zhí)行文件的,在執(zhí)行程序前,必須要修正所有的錯誤。

修改過源代碼之后,Eclipse不會自動重新Build該項目,需要我們手工執(zhí)行該操作,可以再次點擊工具欄上的錘子型圖標(biāo),也可以使用快捷鍵ctrl-b。



執(zhí)行程序

若Build Project成功,則可以運行程序。點擊工具欄上的綠色Play圖標(biāo)或按快捷鍵“Ctrl-F11”即可運行程序。運行程序后,輸入和輸出都將在源代碼編輯窗口下方的ConsoleView中進(jìn)行,最簡單的方法是把網(wǎng)頁上的輸入內(nèi)容直接復(fù)制粘貼到Console中。




調(diào)試 C 語言程序



開始調(diào)試

調(diào)試程序和執(zhí)行程序不同,調(diào)試程序時我們可以使用斷點、單步執(zhí)行、Watch等工具來查看程序的運行狀態(tài)。在Eclipse中可以直接使用GDB來調(diào)試程序,點擊工具欄上的“蟲子”按鈕或者按快捷鍵“F11”便可以調(diào)試過程。



調(diào)試視圖

開始調(diào)試后,系統(tǒng)會彈出一個窗口并建議我們切換的調(diào)試視圖,這時可以點擊“Yes”。調(diào)試視圖與編碼視圖不同,主要是在代碼上方顯示出了正在執(zhí)行的進(jìn)程和當(dāng)前函數(shù)中自動變量的值。



監(jiān)視變量的值

有時我們要監(jiān)視的變量的值并沒有直接顯示出來,這時我們可以讓它在Expression視圖中來顯示。



Step Into 與 Step Over

單步執(zhí)行,就是每次執(zhí)行一行程序,執(zhí)行完這一行程序后,調(diào)試器會將程序執(zhí)行暫停,這時我們就可以去查看變量的值。

Step Into與Step Over都是單步執(zhí)行,其差別在于當(dāng)我們定義了一個函數(shù),并在調(diào)用該函數(shù)的語句行上單步執(zhí)行時,是進(jìn)入到函數(shù)的內(nèi)部還是將函數(shù)作為一個整體來執(zhí)行。對于標(biāo)準(zhǔn)庫函數(shù)如printf和scanf等,即便是使用Step Into,Eclipse也不會對這個函數(shù)進(jìn)行單步執(zhí)行。



設(shè)置斷點

單步執(zhí)行雖然可以讓我們監(jiān)控到程序每一步的狀態(tài),但對于比較大比較長的程序來說,一步一步運行未免太浪費時間。這時我們可以使用斷點功能,讓程序在某個指定的位置停止下來,而不是每運行一行都停下來。

當(dāng)程序的執(zhí)行在斷點處停下來后,要使其繼續(xù)運行,可以使用“Resume”功能。



終止調(diào)試

Eclipse可以同時調(diào)試多個程序,為了避免占用太多的資源,當(dāng)發(fā)現(xiàn)了程序中的錯誤后,就應(yīng)該終止調(diào)試。如果不將它們終止,這些被調(diào)試的程序所占用的資源也就不能被釋放,會使系統(tǒng)的速度變得很慢。



常見問題

為何使用數(shù)學(xué)函數(shù)后Build Project時會出錯

數(shù)學(xué)函數(shù),如sqrt和pow等雖然是C標(biāo)準(zhǔn)函數(shù)庫的一部分,但它們被獨立存儲在數(shù)學(xué)函數(shù)庫libm中,GCC在編譯鏈接程序時,是不會自動鏈接該庫的。我們必須手工修改配置讓Eclipse在調(diào)用GCC編譯鏈接程序時,將libm也加入到鏈接的文件列表中。具體的方法是:

在項目名稱上點擊鼠標(biāo)右鍵,選擇“Properties” 選擇C/C++ Build | Setting 選擇右側(cè)的GCC C Linker下的Libraries 然后在Libraries(-l)列表中加上m,然后點OK 按Ctrl-b重新Build項目

如何方便地給編譯添加參數(shù)

固然可以在project property里逐一添加參數(shù),但有時候要添加幾十條參數(shù)或者經(jīng)常要換參數(shù)來測試編譯,這樣一來會很麻煩. 解決方法就是建立makefile項目(比如新建工程里的C++ makefile project). makefile文件里要求按照在終端輸入的格式寫入編譯命令.非常方便修改.?



有那些編譯器可以選擇

Linux 下一般采用GCC和G++ Windows下可以使用GCC和G++移植版本,比如MinGW這類項目. Windows下也可以才用VC++的編譯器,但是現(xiàn)在Windows SDK提供的C++編譯器只能使用makefile來編譯,其命令為nmake?



本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉