Dev C++使用說明.doc
《Dev C++使用說明.doc》由會員分享,可在線閱讀,更多相關(guān)《Dev C++使用說明.doc(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
______________________________________________________________________________________________________________ 附錄3 Dev-C++操作手冊 Dev-C++是一個可視化集成開發(fā)環(huán)境,可以用此軟件實現(xiàn)C/C++程序的編輯、編譯、鏈接、運行和調(diào)試。本手冊中介紹了Dev-C++常用的一些基本操作,包括創(chuàng)建、編譯、鏈接、運行和調(diào)試C源程序和C工程,希望每一位讀者都要熟練掌握。 1. 啟動Dev-C++ 方法一: 1. 首先鼠標點擊任務欄中的“開始”按鈕,選擇“程序”菜單項,然后選“程序”下的子菜單項“Bloodshed Dev-C++”項,顯示該項下的子菜單。 2. 單擊”Dev-C ++”菜單項,即可啟動Dev-C ++集成開發(fā)工具。(如圖1所示) 圖1 啟動Dev-C++ 方法二: 我們也可以通過直接單擊桌面上的Dev-C++的圖標來啟動該開發(fā)工具。 2. 新建源程序 1.要新建一個源程序,可以從主菜單選擇“File” -> “New” -> “Source File”(中文環(huán)境下為“文件”-> “新建”-> “源代碼”)即可(如下圖2所示)。 圖2新建源程序 如果大家看到界面上的字是中文的,則可以根據(jù)以下操作將界面改為英文。點擊主菜單“工具”->”環(huán)境選項”,在彈出的對話框中選擇“界面”頁,在Language下拉列表中選擇“English”即可,如下圖3所示。此時界面上的菜單、工具條等就會全部顯示其英文命名。 圖3 更改界面語言 2.此時屏幕右下側(cè)出現(xiàn)一片白色區(qū)域,可以在此輸入新的程序。如下圖4所示。 輸出標簽頁 源程序編輯區(qū)域 工具欄 菜單 圖4 Dev-C++開發(fā)環(huán)境功能布局 3.保存源程序到硬盤。 一個好的習慣是創(chuàng)建了一個新程序后,在還未輸入代碼之前先將該程序保存到硬盤某個目錄下,然后在程序的編輯過程中我們也要經(jīng)常性地保存程序,以防止機器突然斷電或者死機導致工作成果丟失。要保存程序,只需從主菜單選擇“File”->”Save”就可以將文件保存到指定的硬盤目錄。如圖5所示。 圖5 保存文件 此時會彈出一個對話框,如圖6所示。在此我們需要指定文件要存放的目錄(此處為F:\temp),文件名稱(此處為test)以及保存類型(此處為*.c)。需要注意的是,在保存類型處一定要選擇“C source files(*.c)”,意思是保存的是一個C文件。在點擊右下角的保存按鈕后,在temp目錄下將會出現(xiàn)一個名為test.c的C源文件。 圖6 指定要保存文件的路徑和名字 對于剛創(chuàng)建且未進行任何編輯的程序,主菜單的“File”->”Save”菜單是灰色的,此時需要從主菜單選擇“File”->”Save As”來保存;此外,對于正在編輯的程序,如果你想對其進行重新命名或者將其保存到另一個磁盤目錄下,也可以用“File”->”Save As”菜單,如圖7所示。 圖7 使用Save As保存文件 4.在程序編輯區(qū)域編輯程序。 如圖8所示。在輸入程序的過程中記得要隨時對程序進行保存(使用菜單“File”->”Save”,或者用組合鍵Ctrl+s),此時會將程序以相同名字重新保存到之前指定的目錄下,如F:\temp,覆蓋掉之前的同名文件。 圖8在程序編輯區(qū)域編輯程序 需要注意以下兩點: 1)編輯時除了字符串和注釋,其余部分要使用半角字符。全角字符和半角字符外觀很像,尤其是全角分號和半角分號,全角括號和半角括號,不仔細看很難分辯清楚,因此程序輸入時要小心,避免此類問題。 2)在Dev-C++環(huán)境下,為了查看程序運行結(jié)果,需要在main函數(shù)的return語句前加上:system("PAUSE")或system("pause"); 這樣程序運行到該語句時,結(jié)果顯示屏幕將會停留,讓我們有時間觀察程序的輸出結(jié)果。否則結(jié)果顯示屏幕將會一閃而過。 3. 預處理、編譯、鏈接程序 從主菜單選“Execute”->“Compile”(“運行”->“編譯”)或快捷鍵“Ctrl+F9”,可以一次性完成程序的預處理、編譯和鏈接過程。如果程序中存在詞法、語法等錯誤,則編譯過程失敗,編譯器將會在屏幕右下角的“Compile Log”標簽頁中顯示錯誤信息,如下圖9所示,并且將源程序相應的錯誤行標成紅色底色,如圖10所示(由于刪除了printf語句后面的分號,編譯時報錯,提示system語句前面的語句有語法錯誤(syntax error))。 圖9 編譯錯誤顯示 圖10 編譯提示錯誤行 “Compile Log”標簽頁中顯示的錯誤信息是尋找錯誤原因的重要信息來源,每一位讀者都要學會看這些錯誤信息,并且每一次你碰到錯誤并且最終解決了錯誤時,要記錄錯誤信息以及相應的解決方法。這樣以后看到類似的錯誤提示信息,能熟練反應出是源程序哪里有問題,從而提高程序調(diào)試效率。 排除了程序中存在的詞法、語法等錯誤后,編譯成功,此時在源文件所在目錄下將會出現(xiàn)一個同名的.exe可執(zhí)行文件(如test.exe)。雙擊這個文件, 即可運行程序。 4. 運行程序 對程序進行預處理、編譯、鏈接后,可以有兩種方法運行程序。第一種方法是雙擊生成的.exe文件;第二種方法是直接在Dev-C++環(huán)境下從主菜單選“Excute”->“Run”或快捷鍵“Ctrl+F10”運行程序。如圖11所示。 圖11 運行程序 5. 調(diào)試程序 通過預處理、編譯和鏈接的程序僅僅說明該程序中沒有詞法和語法等錯誤,而無法發(fā)現(xiàn)程序深層次的問題(譬如算法不對導致結(jié)果不正確)。當程序運行出錯時,我們需要找出錯誤原因。仔細讀程序來尋找錯誤固然是一種方法,但是有時光靠讀程序已經(jīng)解決不了問題,此時需要借助于程序調(diào)試(Debug)手段。這是一種有效的排錯手段,每一位讀者都需要掌握。調(diào)試程序的步驟為:第一步:設置程序斷點;第二步:進入調(diào)試運行狀態(tài);第三步:單步執(zhí)行程序。在執(zhí)行過程中通過設置、查看watch窗口來辨別程序運行狀態(tài)是否正確。 1.設置程序斷點。 調(diào)試的基本思想是讓程序運行到你認為可能有錯誤的代碼前,然后停下來,在人為控制下逐條語句的運行。通過在運行過程中查看相關(guān)變量的值以及程序執(zhí)行路徑,來找到錯誤所在位置、分析錯誤產(chǎn)生原因。如果想讓程序運行到某一行前能暫停下來,就需要將該行設成斷點。具體方法是在代碼所在行行首單擊,該行將被加亮。默認的加亮顏色是紅色。如圖12所示,將system(“pause”)語句設成斷點,則程序運行完printf語句后,將會暫停。需要說明的是,你可以在程序中根據(jù)需要設置多個斷點。 如果想取消不讓某行代碼成為斷點,則在代碼行首再次單擊即可,此時代碼的紅色底色消失。 圖12 設置一個斷點 2.進入調(diào)試運行程序狀態(tài)。 設置斷點后,此時程序運行進入debug(調(diào)式)狀態(tài)。要在調(diào)試狀態(tài)下運行程序,就不能使用主菜單“Execute”->“Run”,而是需要用主菜單“Debug”->“Debug”(或者按快捷鍵F8),進入調(diào)試運行狀態(tài)。如圖13所示。 圖13 調(diào)試菜單項 程序?qū)⑦\行到第一個斷點處暫停,此時斷點處加亮色由紅色變成藍色,表示接下去將運行藍色底色的這行代碼,如圖14所示。 圖14 程序運行到斷點處 注意:有時你會發(fā)現(xiàn)即使設置了斷點,點擊了主菜單“Debug”->“Debug”,程序還是不在斷點處停留。解決方法:取消斷點,重新編譯程序,然后再設置斷點,點擊主菜單“Debug”->“Debug”即可。 3.單步執(zhí)行程序。 要想運行藍色底色的代碼,可以使用圖15所示的“Next Step(F7)”、“Step Into(Shift F7)”、“Continue(Ctrl F7)”,“Run to Cursor(Shift F4)”等(具體含義見下面的介紹)。在學習函數(shù)之前,一般用的是Next Step和Continue。學習函數(shù)后,還會用到Step Into。 Debug菜單如左圖所示。和單步運行相關(guān)的菜單項說明如下: Next Step(F7):運行下一行代碼;如果下一行是對函數(shù)的調(diào)用,不進入函數(shù)體; Step Into(shift F7):運行下一行代碼,如果下一行是對函數(shù)的調(diào)用,則進入函數(shù)體; Continue(Ctrl F7):運行到下一個斷點處; Run to Cursor(Shift F4):運行到光標所在處; 圖15 Debug菜單 在調(diào)試程序時,往往要觀察程序運行過程中變量的值,以檢測程序?qū)ψ兞康奶幚硎欠裾_,可以在調(diào)試時,選擇主菜單“Debug”->“Add Watch”(F4)這一項,我們會看到彈出提示框用于輸入變量名,這時可以根據(jù)調(diào)試需要,輸入要觀察的變量名,該變量隨后將會顯示在最左邊Explore的Debug頁中,如下圖16所示。如果左邊小窗口中的當前頁不是Debug頁,則可以點擊Debug標簽使之成為當前頁。 圖16 查看變量當前值 6. 創(chuàng)建、編譯、運行工程 到目前為止,編寫的程序都是放在一個“.C”文件中。如果程序很小又很緊湊,確實應該把所有的源代碼寫在一個“.C”文件中。但如果你發(fā)現(xiàn)自己編寫了許多函數(shù)(特別是通用函數(shù)),那么你就應該把程序分解成幾個源文件(也叫做模塊)。 把一個程序分解成幾個源文件的過程叫做模塊化程序設計(modular programming)。模塊化程序設計技術(shù)提倡用幾個不同的結(jié)構(gòu)緊湊的模塊一起組成一個完整的程序。例如,如果一個程序中有幾種、屏幕函數(shù)和數(shù)據(jù)庫函數(shù),你就可以把這些函數(shù)分別放在三個源文件中,分別組成實用模塊、屏幕模塊和數(shù)據(jù)庫模塊。 工程用于管理同一個程序的多個文件,包括源文件和頭文件等。在此,我們介紹如何創(chuàng)建一個新的工程,如何把文件添加到工程,如何從工程中刪除文件,如何編譯、鏈接、運行工程。這些是很基本的操作,請讀者熟練掌握。 假設我們有一個名為“猴子選大王”的工程,工程包含的文件如下圖17所示。下面我們對這些文件做一介紹: 猴子選大王.dev:這是Dev-C++環(huán)境下的工程文件,一個工程對應一個這樣的文件,里面記錄了工程相關(guān)的信息,例如工程包含哪些文件、各個文件的名稱和保存路徑等。讀者可以用文本編輯器打開看一下該文件的內(nèi)容。當要打開工程的時候,只需要雙擊該文件即可。 linkNode.h和link.h:工程包含的兩個用戶自定義頭文件。 main.c和link.c:工程包含的兩個源文件。 main.o和link.o:main.c和link.c分別編譯得到的目標文件。 猴子選大王.exe:對工程進行編譯、鏈接后得到的可執(zhí)行程序。 Makefile.win: 對工程進行編譯時Dev-C++環(huán)境創(chuàng)建的文件。 可見,main.o、link.o、Makefile.win和猴子選大王.exe這四個文件是對工程進行編譯鏈接得到的文件。 圖17 一個工程包含的文件 1.新建工程 點擊菜單,選擇File(文件)-> new(新建)-> Project (工程),如圖18所示。 圖18 新建工程 在彈出窗口的Basic頁中選擇Console Application(控制臺應用程序),輸入工程名稱,選擇是C Project(C工程),點擊OK。如圖19所示。 圖19 設置工程屬性 此時彈出對話框,要求指定工程存放路徑。設置好路徑后點擊保存。此時系統(tǒng)往工程中自動加入main.c文件,如圖20所示,文件中的代碼是系統(tǒng)自動生成的。 圖20 工程中的main.c文件 2.向工程中添加文件 首先將已經(jīng)存在的linkNode.h、link.c和link.h三個文件拷貝到工程所在目錄(假設為G:\temp\testProject)下,然后點擊主菜單Project(工程)->Add to Project(添加),如圖21所示,在彈出的對話框中選擇要添加的源文件,然后點擊打開,如圖22所示。 圖21 添加文件到工程 圖22 選擇要添加的文件 此時在左側(cè)工程管理Project頁中出現(xiàn)了加入的這3個文件,如圖23所示。 圖23 Project頁出現(xiàn)了新加入的文件 在當前工程中還可以新建或移除一個文件,選擇Project(工程)-> New File(新建文件)創(chuàng)建一個新的文件,然后在保存路徑處指定路徑,即將該新建的文件添加到工程中。而如果選擇Project(工程)-> Remove Form Project(從工程移除),則從工程中移除文件(注意該文件還存在于磁盤上,從工程中刪除只是解除了和工程的關(guān)系)。 3.編譯和運行 工程的編譯和運行和單文件程序的編譯和運行基本一樣。但是在工程中存在多個文件的情況下,可以使用主菜單Execute(運行)->Compile(編譯)(Ctrl+F9),編譯當前工程中的所有文件;也可以使用主菜單Execute(運行)-> Compile current file(編譯當前文件)(Shift+ Ctrl+F9),編譯源程序編輯區(qū)域當前打開的文件。 7. 打開一個已經(jīng)存在的程序或工程 打開一個已經(jīng)存在的源文件或工程進行編輯是最常見的操作。方法是點擊主菜單的”File”->”O(jiān)pen Project or File”(打開文件或工程),如圖24所示,如果是打開單個文件,則在彈出的對話框中指定文件所在的路徑,選擇要打開的文件即可;如果是打開工程,則在彈出的對話框中指定工程所在的路徑,選擇要打開的工程對應的.dev文件即可。 圖24 打開文件或工程 8. 提高程序書寫風格的一些操作 1.整段縮進 運用適當?shù)目s進,可以提高代碼的可讀性。但是如果靠人工一行一行的縮進,那將是非常枯燥的事情。Dev-C++環(huán)境支持整段縮進。方法是首先選中要縮進的代碼段,然后點擊主菜單下的”Edit”->“Indent”,如圖25所示,即可將整段代碼右移N個字符。 圖25 整段縮進代碼 每一次縮進要移動的字符數(shù)可以自己定制,方法如下:點擊主菜單下的”Tools”->“Edit Options”,在彈出的對話框中的General標簽頁中進行設置,將Tab Size設置成我們希望的數(shù)字,建議設成4,如圖26所示。該對話框提供了定制Dev-C++的界面編輯風格的功能,有興趣的讀者可以自己研究一下。 也可以點擊”Edit”->“Unindent”使整段代碼往左移。 圖26 定義Tab Size的大小 2.插入程序說明 為了簡要說明程序的功能和各個函數(shù)、變量的作用,增強程序的可讀性,我們可以在程序中插入適當?shù)恼f明。點擊”Edit”->“Insert”->“Comment Header”,如圖27,從而在程序編輯區(qū)光標處插入一段注釋,用于說明程序名稱、作者和程序功能等,插入后的效果如圖28所示。 圖27 插入程序說明 這些就是自動插入的程序說明部分 圖28 插入后的程序說明 附錄4 Dev-C++環(huán)境下常見編譯錯誤信息中英文對照 說明:此編譯錯誤的對照信息適用于Dev-C++環(huán)境中基本的C語言編程,對于C++(類)編程不包括在其中。 英文提示信息 中文解釋 補充說明 'xxx' undeclared (first use in this function) 名為‘xxx’ 的常量或變量未定義或聲明 一般由以下幾種情況導致此編譯錯誤的發(fā)生: 1.變量未定義就使用; 2.當變量定義后,使用時變量拼寫錯誤; 3.當使用在其他文件中定義的全局變量時,使用前未對該變量進行聲明; syntax error before "xxx" 在"xxx"之前有語法錯誤 通常是由于"xxx"之前缺少符號(如分號)或者"xxx"之前有不正確的符號導致的。 stray '\163' in program 通常是由于在字符串和注釋以外的地方使用了全角字符。全角字符和半角字符外觀很像,尤其是全角分號和半角分號,全角括號和半角括號,不仔細看很難分辯清楚,因此程序輸入時要小心,避免此類問題。 assignment of read-only variable 'xxx' 對只讀變量’xxx’賦值 通常是由于定義變量時前面加了const修飾符使其成為了只讀變量,但又試圖對該變量賦值導致的(注意:允許在定義的同時對只讀變量進行初始化)。 invalid lvalue in assignment 賦值時無左值 通常是由于賦值操作符的左邊不是變量導致的。如:對由#define定義的常量進行賦值 case label does not reduce to an integer constant case標號后面的常量表達式的值不是整常數(shù)值 通常是由于switch關(guān)鍵字后面的表達式的值不是一個整型(字符型)導致的。 incompatible types in assignment 賦值類型不匹配 通常是兩個類型不一致且不能轉(zhuǎn)換的變量在相互賦值時導致的。如char string[10]; string="123"; xxx.h: No such file or directory. 沒有xxx.h這樣的文件或目錄 通常是由于程序中要包含頭文件xxx.h,由于相關(guān)文件夾下并沒有這個文件導致的。 [Linker error] undefined reference to 'xxx' 名為‘xxx’ 的函數(shù)未定義 一般由以下幾種情況導致此編譯錯誤的發(fā)生: 1.函數(shù)未定義就調(diào)用; 2.調(diào)用函數(shù)時函數(shù)名拼寫錯誤; conflicting types for 'xxx' 函數(shù)‘xxx’類型不匹配 一般由以下幾種情況導致此編譯錯誤的發(fā)生: 1.函數(shù)原型中的返回值類型和函數(shù)定義中的不一致; 2.函數(shù)原型中的參數(shù)類型和函數(shù)定義中的不一致; 3.函數(shù)原型中的參數(shù)個數(shù)和函數(shù)定義中的不一致; 4.函數(shù)調(diào)用在函數(shù)定義之前,且調(diào)用前未對函數(shù)原型進行聲明,使得編譯器認為函數(shù)的參數(shù)和返回值均是默認的int類型,而實際函數(shù)定義中的參數(shù)和返回值至少有一個不是int類型。 too few arguments to function 'xxx' 或者 too many arguments to function 'xxx' 調(diào)用函數(shù)'xxx'時,實參個數(shù)太少或太多 通常是由于函數(shù)調(diào)用時的實參個數(shù)少于或多于函數(shù)定義的形參個數(shù)。 'xxx' redeclared as different kind of symbol 'xxx'被重新定義 通常是由于函數(shù)內(nèi)定義的變量和函數(shù)的參數(shù)同名引起的。 assignment makes pointer from integer without a cast 對整數(shù)未進行類型轉(zhuǎn)換就賦值給指針變量 注意:不能把0之外的整數(shù)賦給指針變量。 assignment from incompatible pointer type 不同類型的指針變量之間的賦值 注意:如果兩指針類型相同,可以進行相互賦值;如果兩個指針中有一個是void * 類型,可以進行相互賦值;否則必須用強制類型轉(zhuǎn)換運算符把賦值號右邊指針的類型轉(zhuǎn)換為賦值號左邊指針的類型。 THANKS !!! 致力為企業(yè)和個人提供合同協(xié)議,策劃案計劃書,學習課件等等 打造全網(wǎng)一站式需求 歡迎您的下載,資料僅供參考 -可編輯修改-- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
32 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Dev C+使用說明 C+ 使用說明
鏈接地址:http://www.hcyjhs8.com/p-1561841.html