1. 程式人生 > >【c語言入門軟體】dev新建工程、執行和除錯

【c語言入門軟體】dev新建工程、執行和除錯

dev新建工程、執行和除錯 上一次安裝中,曾讓你們把安裝路徑記下來,現在我們可以找到安裝路徑,拷貝出裡面的help資料夾,開啟到這裡,我們將比較官方的形式來了解以下dev的使用。 11

1.Editing

在編輯之前,我們需要新建一個dev的工程和擬寫一個簡單的程式,具體步驟如下 首先新建好自己存放C程式碼的資料夾,新建好分類檔案,博主的是C Code>>day1Study,開啟dev-c++。 選擇檔案>>新建>>專案 12 學習C/C++語言是我們想要比較好的人機互動介面,所有選擇了Consde Application即Consde應用程式,專案可以選擇C專案和C++專案,區別是C++專案相容C,專案檔案為.cpp檔案,C專案不相容C++專案,專案檔案為.c檔案,這裡我們選擇C專案。專案名稱就可以預設不管,這個影響不大。

儲存檔案 13 保持到自己剛剛新建存放c語言程式碼的檔案,方便自己查詢和後期修改。

檔案新建好了之後,就會出現這樣的一段空程式碼

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    return 0;
}

簡單介紹以下編譯器的環境,你也可以移動滑鼠放在圖示上,圖示會提示相關功能 14

第一個大框依次是:新建、開啟專案或檔案、儲存、全部儲存、關閉和列印

  • 新建:新建一個原始檔,新建後要儲存專案
  • 開啟專案或檔案:之後通過這個可以再次開啟之前寫好的程式
  • 儲存、全部儲存:程式碼每寫一段切記要記得儲存
  • 關閉:關閉開啟的檔案
  • 列印:程式碼是支援列印的,列印成pdf或者直接列印都是可以的

第二個大框依次是:編譯、執行和編譯執行 這裡要提前植入一個觀念,程式程式碼寫好了之後一定要先編譯,編譯沒有錯誤之後才能執行,至於為什麼非要這樣,學到後面你自己就懂了或者自己私下去了解也可以參考博主的文章。

  • 編譯:檢查語法錯誤,將C程式碼檔案翻譯成二進位制彙編檔案(計算機無法識別C檔案,只能識別彙編檔案,這個過程不需要我們去理解,計算機自己會處理,我們只要保證按照C語言的語法不出錯就行)
  • 執行:將編譯生成的彙編檔案執行
  • 編譯執行:有人很懶就把這兩個結合在一起了

我們加上一句話,直接敲上去就可以了。

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    printf("hello,this is my first project!\n");     
    return 0;
}

點選編譯,編譯器會提示你沒有儲存專案,你也可以提前自己點選儲存/全部儲存來儲存專案 15 這裡博主有個小建議,我們儲存的專案名要易讀可區分,比如我這次編寫的是字串測試程式,我可以命名為stringTest.c這樣就不用再次點卡程式碼,另外一點,我可以在同一資料夾下新建多個c檔案,只要保證你的c檔案檔名不一樣就行。

編譯完成,出現0 Errors; 0 Warnings

Compilation results...
--------
- Errors: 0
- Warnings: 0
- Output Filename: C:\Users\admin\Desktop\10月文件\C語言學習計劃\C Code\day1Study\專案1.exe
- Output Size: 124.2216796875 KiB
- Compilation Time: 0.11s

就可以點選執行操作了 16

完成之後就會彈出一個黑視窗,上面寫著hello,this is my first project!表示程式執行完成了。

我們再次回到他提供的Editing.htm檔案,將檔案翻譯過來之後整理了一下

編輯檔案

編輯檔案非常簡單。 建立(Ctrl + N)或開啟(Ctrl + O)檔案。

提示

將滑鼠懸停在變數或包含行上以顯示有關它的資訊。單擊行號以在此處放置斷點。 三次單擊一行以選擇它。可以在工具>>編輯器選項>>完成>>符號完成時自定義符號完成。 可以在任何地方使用Ctrl + Space開啟程式碼完成。 它將顯示當前檔案,其包含的檔案和快取中找到的有效語句。 可以在工具>>編輯器選項>>完成>>程式碼完成中設定首選項。 考慮快取經常包含的檔案以加快檔案和專案開放

這些提示技巧也比較有用。

2.Compiling

再來看看編譯,直接看一下官方給的編譯介紹:

編譯原始檔

Dev-C ++的一個特殊功能是能夠編譯(和執行)單個原始檔。這可以通過以下步驟完成: 建立(Ctrl + N)或開啟(Ctrl + O)原始檔。 單擊“編譯”(F9)以編譯當前可見的檔案。(可選)執行建立的可執行檔案(F10)。 此編譯將使用在Tools >> Compiler Options中選擇的編譯器集。

編譯專案

編譯專案主要需要相同的步驟: 建立(Ctrl + N)或開啟(Ctrl + O)專案。單擊“編譯”(F9)以應用在原始檔中所做的更改。 單擊“重建”(F12)以應用在標頭檔案中所做的更改或重新編譯所有檔案。(可選)執行建立的可執行檔案(F10)。 此編譯將使用在Tools >> Compiler Options中選擇的編譯器集,但與原始檔編譯不同,它將使用位於Project >> Project Options >> Compiler的編譯器設定。

提示

對於單個檔案編譯,請確保使用正確的副檔名。如果沒有明確告訴編譯器使用哪個標準(使用-std標誌),請使用* .c編譯為C或* .cpp以編譯為C ++。 要減少編譯輸出大小,尤其是在使用C ++標頭時,請考慮將-s傳遞給編譯器。這可以手動完成或通過(設定)>>連結器>>條帶可執行檔案完成。此選項將從輸出中刪除任何未使用的資料。此選項的缺點是除錯和分析將不再起作用。另一種但效果較差的方法是減少包含檔案的數量。 要減少編譯時間,請考慮包含較少的檔案。例如,在使用專案時,不要盲目地在每個檔案中包含每個檔案! 要在編譯過程中儲存一次單擊,請嘗試編譯並執行(F11)。顯然,這將立即編譯並執行您的檔案或專案。 更改標頭檔案時,請確保重新編譯通過重建使用它的所有原始檔。不這樣做會導致未定義的可執行行為:您看到的程式碼將不會被執行,因為某些原始檔正在使用過時的標頭。 上面是官方的操作,也可以學一下,同樣我們在編譯、執行的時候如果覺得點選圖示麻煩的話可以直接按快捷鍵。提示中減少編譯時間的建議是非常好的,在以後,可能會有幾千個c檔案,你改寫的話可能就幾個c檔案,但是全部編譯起來就比較浪費時間,就可以選擇編譯或編譯少一些的檔案。

3.Debugging

接下來我們看看這個解決經常說的bug方法,把bug給debug掉。

除錯原始檔

可以使用以下步驟除錯原始檔: 建立(Ctrl + N)或開啟(Ctrl + O)原始檔。 在Tools >> Compiler Options中,選擇支援除錯的編譯器集(-g3)。 單擊Debug(F5)以編譯和除錯當前可見的檔案。 通過單擊行號放置斷點或使用F4暫停程式並檢查它。

除錯專案

可以使用以下步驟除錯專案檔案: 建立(Ctrl + N)或開啟(Ctrl + O)專案。 在Project >> Project Options >> Compiler中,選擇支援除錯的編譯器集(-g3)。 單擊Debug(F5)以編譯和除錯專案。 通過單擊行號放置斷點或使用F4暫停程式並檢查它

提示

更改編譯器集時,請確保在除錯之前重新構建。如果原始檔比可執行檔案更新,Dev-C ++只會建議這樣做,但是當編譯器更改時則不會這樣做! 優化(-Ox)將改變執行順序,並且可以刪除不產生淨變化的程式碼。當逐行瀏覽程式碼時,這可能非常煩人。考慮除錯而不進行優化或使用-Og來解決此問題。 http://gcc.gnu.org/onlinedocs/gnat_ugn_unw/Debugging-Optimized-Code.html 新增除錯資訊通常會使編譯時間增加一倍以上。考慮禁用它以降低編譯時間。 除錯資訊為建立的程式增加了相當大的尺寸(一個數量級並不是不同尋常的)。考慮禁用它以減小檔案大小。

我們還是通過一個例項操作來了解一個這個debug的過程,新建專案,新建c檔案,儲存專案,擬寫如下程式碼

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int add(int x1,int x2){
    return x1+x2;
}

int main(int argc, char *argv[]) {
    
    int a=0,b=12;
    int c=6,sum=0;
    
    a=a+1;
    b=b/2;
    c=a+b;
    sum = add(a,b);
    printf("a+b= %d\n",sum);
    return 0;
}

編譯通過後,我們按照步驟 點選16行,出現高亮狀態>>點選debug就是那個小對勾>>將下面狀態列切換至debug下檢測視窗 17 新增要檢視的變數 18

也可以滑鼠雙擊變數,比如變數a,雙擊高亮後點擊新增檢視(左側狀態列點選除錯,進入除錯監測變數口) 19 同時我們設定下面幾行斷點 20 點選下一步,當發現程式執行到18行的時候,表示17行執行結束(c語言以";"作為行句結束標誌,執行到18行時,18行程式還沒有執行),此時b的值應該÷2為6,此時左邊也檢測到b的值為6; 21 繼續執行,我們將遇到一個名為add(x1,x2)的函式,我們可以點選單步進入,也可以跳過函式 22 執行完成後,左邊狀態列的數值如同我們程式設定一樣,雖然這個程式比較簡單,但是當自己寫程式碼起來,發現程式執行結構和我們預想的不一樣的,我們可以通過debug這種形式把執行出錯的地方找到,改正自己的程式碼。剛剛入手可能比較難,不過熟能生巧,多多練習也就記住了會了。

4.註釋

在程式碼中,我們看到有一段解釋程式碼 23 這段程式碼通常叫做註釋 C/C++ 支援兩中插入註釋的方法 :

// line comment
/* block comment */

第一種方法為行註釋,它告訴編譯器忽略從 // 開始至本行結束的任何內容。第二種為塊註釋(段註釋),告訴編譯器忽略在 /* 符號和 */ 符號之間的所有內容,可能包含多行內容