- C/C++實踐進階之道:寫給程序員看的編程書
- 陳黎娟
- 1463字
- 2020-06-29 11:37:39
3-2 調試程序的五個步驟
寫到這里,十幾年前自己學習編程的日子突然回到眼前。當年,我不能算是一個聰明的學生,只不過特別愛好編程,為了能夠掌握真正的程序員必須掌握的C語言,我的方法比較笨。我每寫一個程序的調試過程大致如圖3-1所示。

圖3-1 練習C程序時的一般過程
下面演示一下如何在Visual C++中調試練習程序,基本的操作步驟如下:
(1)啟動你的電腦中的Visual C++,空空如也,什么都沒有。首先得把程序輸入系統中。
(2)單擊“File/New…”命令,會出現一個對話框,若無例外,看到的是“Projects”頁,不過我們不需要建立大的項目,只是做小小的調試,所以請單擊“Files”選項卡。
我們的目的是編輯一個C/C++程序。所以,選擇“C++ Source File”,然后,單擊“OK”,如圖3-2所示。

圖3-2 新建C/C++文檔
(3)輸入第一個程序,當然是著名的“Hello,World”,用以檢驗程序和開發工具。將程序保存起來,好習慣是保存到專門的目錄。需要注意的是,默認的文檔后綴可能是文本,一定要把程序的名字改成demo01.c或demo01.cpp,如圖3-3所示。

圖3-3 把輸入的程序保存起來是個好習慣
輸入時查錯
很長一段時間,我輸入#include這個單詞,基本上不經過大腦。因為每個程序的代碼開始都需要,輸入太多了。不過,有時候也會出錯,因為動作太快,幸好C/C++有很多關鍵字,在Visual C++中顯示是藍色的,大家可以憑借這個特點,判斷自己是否輸入錯誤。另外,在輸入程序的時候不斷保存,也是一個好習慣。
(4)代碼輸入完畢,單擊“Build”選項卡,圖3-4中的“Compile…”,“Build”,“Start Debug”等命令都可以開始編譯或者調試程序。我一般喜歡直接按快捷鍵【Ctrl+F5】或【F5】鍵。

圖3-4 開始調試程序
(5)Visual C++會問我們是不是需要一個Project,如圖3-5所示,當然需要了,不然過不去的。現代程序開發工具都是以一個項目的概念來管理開發程序中需要的所有文檔,就好像你把你完成某件工作需要的計劃(Word文檔),預算(Excel文檔),圖像資料等放在一個文件夾中統一管理一樣,大家需要要慢慢理解。

圖3-5 Visual C++詢問是否需要一個Project
圖3-5中選擇“是(Y)”即可,接下來還有一個對話框,問我們是否建立可執行文件,如圖3-6所示,一般來說,同樣選擇“是(Y)”按鈕即可。

圖3-6 Visual C++請我們確認是否建立可執行文件
(6)這個時候,開發工具調用編譯工具進行編譯,一般來說,第一次寫出的代碼總有錯誤,除非天才,我們總是通過犯錯誤、改正錯誤才得到提高,這是好事。
事實上,開發工具在把原始程序文件(如.c)轉換成可執行文件(.exe)的過程要經過編譯成.obj,和庫函數連接,最后才能產生一個.exe的可執行文件,有的在調試階段還產生很多中間過程,不過在開始學習程序設計的時候,只需要理解是開發工具自動完成這個過程,這個過程叫作“Building”就可以了。

圖3-7 編譯結果
編譯結果很快就出來了,如圖3-7所示,有錯誤“error C2143:syntax error:missing';'before'return'”,不明白什么意思。把光標移到錯誤提示處,按下“F1”,調出MSDN(圖3-8)。解釋一大堆,看了半天,再對照源程序才明白,是因為“return”前一句忘了加“;”號。

圖3-8 MSDN查找錯誤所在
(7)修改了錯誤,再按下快捷鍵【Ctrl+F5】,或者單擊工具條上的。程序通過,看到結果。
基本上這個步驟在開始學習C/C++語言的時候夠用了,不過,當你的程序越來越長,越來越復雜,錯誤提示可能毫無用處,這個時候,需要使用一些高級的技巧。
這些高級技巧大致有“單步運行”,“運行到光標處”和“觀察變量值變化”等方法,Visual C++提供了非常多的功能和工具。這些,只要你有心,慢慢地試驗,慢慢看幫助,逐步就可以掌握。英文幫助也有它的好處,當年我的資質應該是很一般,憑著一股熱情看懂了Borland C++大部分的功能用法,還提高了自己的英文閱讀能力。
本書的附錄中我們提供了Visual C++使用簡易參考,供大家閱讀,查詢,熟練。
- Flask Blueprints
- Visual FoxPro程序設計教程(第3版)
- Drupal 8 Blueprints
- 圖解Java數據結構與算法(微課視頻版)
- 3D少兒游戲編程(原書第2版)
- Learning Apache Mahout Classification
- Java:High-Performance Apps with Java 9
- HTML5+CSS3 Web前端開發技術(第2版)
- Tableau 10 Bootcamp
- FFmpeg開發實戰:從零基礎到短視頻上線
- 并行編程方法與優化實踐
- Web前端開發技術:HTML、CSS、JavaScript
- 3D Printing Designs:The Sun Puzzle
- JavaScript語法簡明手冊
- Learning Perforce SCM