- C語言程序設計教程
- 戴彥群 徐草草 溫愛紅主編
- 2713字
- 2020-08-21 13:19:52
1.5 C語言程序的運行與調試
1.5.1 程序編碼與運行
C語言源程序需要經過編譯、連接等一系列步驟才能生成真正可運行程序。如果發現程序設計有錯誤的話,還需要進行反復地修改和測試。從編輯到運行C程序的一段過程如圖1-7所示。

圖1-7 C語言設計過程
(1)編輯
編輯(edit)是指將已經編寫好的源程序錄入計算機并生成磁盤文件的過程。在編輯過程中所使用的軟件,稱為編輯器。通過編輯操作所生成的文本文件,稱為源程序。
C語言源程序是一個以ASCII碼形式存放的文本文件。這個文件一般會以“.c”作為擴展名。我們可以使用任何一種文本編輯器來打開和修改這個文件,但是,這個文件并不能在計算機上直接運行。要得到一個能夠在計算機上直接運行的可執行文件,還必須對源程序進行編譯和連接。
(2)編譯
編譯(compile)是指將已經編輯好的源程序翻譯成二進制目標代碼的過程。用以實現編譯功能的程序就稱為編譯器。
在編譯過程中,系統會首先對源程序進入預處理,然后進行編譯處理。在編譯時,編譯器會對源程序中的語句進行詞法分析和語法檢查。如果發現錯誤,就會將這些錯誤按照性質和嚴重程序劃分為“警告錯誤(warning)”和“致命錯誤(error)”兩大類并顯示在屏幕上。此時,用戶需要根據錯誤信息提示,重新調用編輯器來修改源程序,然后重新編譯,直到排除錯誤為止。如果在編譯過程中沒有發現錯誤,則會自動生成一個以“.obj”為擴展名的二進制代碼文件,也稱目標文件。
需要說明的是,源程序在經過編譯以后所生成的目標文件雖然已經是二進制形式的目標代碼了,但是它仍然不是一個可執行的程序。因為這些目標代碼本身只是一些功能單一的指令塊,它們還需要與其他目標代碼及各種庫代碼相連接(link)后,才能成為可以在特定系統下運行的可執行程序。
(3)連接
連接(link)是指把當前目標代碼和其他編譯生成的目標代碼(如果有的話),以及系統提供的標準庫函數連接在一起,以生成可直接運行的可執行文件的過程。實現連接功能的程序就稱為連接器。在連接過程中所生成的可執行文件一般以“.exe”為擴展名,因此又稱為EXE文件。
(4)運行
C語言源程序在經過編譯和連接后就會生成一個能在特定操作系統下運行的可執行文件。但需要強調的是,即使是在生成可執行文件之后,程序的開發工作也還沒有結束。這是因為在編譯和連接的過程中只是檢查了程序的語法錯誤和語義錯誤,而在程序中可能還存在其他一些邏輯錯誤,例如,計算結果不正確、數據越界、用0作除數等。因此,在生成可執行程序后,還需要運行(run)程序,并對程序運行的結果進行驗證和分析。如果運行結果正確,則程序開發完成;否則,應重復以上“編輯→編譯→連接→運行”的過程,直到取得預期結果為止。
隨著技術的發展,現在的C語言系統幾乎都會將程序開發過程中需要用到的編輯、編譯、連接、運行和程序動態調試等軟件集中起來作為一個整體提供給用戶,以方便使用。這就是所謂的集成開發環境。在教學中最常用的C語言編譯系統主要包括Turbo2.0和Visual C++6.0這兩大類。其中,Turbo2.0系統中主要用于DOS環境,Visual C++6.0用于Windows環境。
1.5.2 Visual C++ 6.0集成環境簡介
C++是在C語言基礎上,通過增加面向對象功能而發展起來的一種面向對象的程序設計語言。也就是說,C++實際上是C語言的一個超集。標準的C語言程序幾乎不加修改就可以在C++系統中直接編譯和運行。而Visual C++ 6.0則是微軟公司開發的一種基于Windows的C++集成開發環境。由于Visual C++ 6.0工作于Windows平臺之上,并且具有操作直觀、方便、運行高效等優點,因此也是學習C語言程序設計的一個極佳平臺。
下面,我們就以本章中的“例1-1”為例來簡要介紹一下,如何利用Visual C++ 6.0集成環境中進行C語言程序開發。
(1)啟動Visual C++ 6.0
首先,在Windows窗口中單擊“開始”按鈕,并選擇“開始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”命令,即可啟動Visual C++ 6.0。正常啟動后的Visual C++ 6.0操作界面如圖1-8所示。

圖1-8 Visual C++ 6.0界面
(2)新建或打開C程序文件
在選擇“文件(File)”菜單中的“新建(New)”命令后,彈出“新建文件”文件對話框,如圖1-9所示。

圖1-9 “新建文件”對話框
單擊對話框中的“文件(File)”標簽選中“文件”選項卡,然后在其左側的文件類型框中指定所要建立的文件類型為“C++ Source File”(即C++源文件),同時在右側的文件名框(File)中輸入新建文件的文件名(例如,在本例中命名為“EX01-01”)。如有必要,還可在下面的路徑框(Location)中指定源文件的保存目錄,最后單擊“確定(OK)”按鈕,即可在Visual C++ 6.0集成開發環境中新建一個名為“EX01-01.cpp”的源文件。
當然,如果是要打開一個已經存在的源文件,則可直接選擇“文件(File)”菜單中的“打開(Open)”命令,然后選擇需要打開的文件即可。
(3)編輯和保存C程序文件
在新建(或打開)文件后,即可進入Visual C++ 6.0編輯界面,如圖1-10所示。

圖1-10 Visual C++ 6.0編輯界面
其中,Visual C++ 6.0界面右邊中間那個最大的空白區域就是編輯窗口。用戶可在其中輸入源程序代碼并利用鍵盤、鼠標、菜單等編輯功能進行編輯操作(其方法與Word類似,在此不再詳述)。
在完成源程序錄入和編輯操作后,用戶可選擇“文件(File)”→“保存(Save)”命令將當前文件保存在磁盤上,以便今后使用。
需要說明的是,由于Visual C++ 6.0實際上是一個C++編譯環境,因此,系統默認的源文件擴展名為“.cpp”(即C++源程序)。如果用戶需要將源程序擴展名指定為“.c”,則需要選擇“文件(File)”→“另存為(Save As)”命令,并在彈出的“另存為”對話框(如圖1-11所示)中將文件擴展名強制指定為“.c”。

圖1-11 “另存為”對話框
(4)編譯、連接和運行
①編譯 選擇“建立(Build)”菜單中的“Compile”命令(或直接使用快捷鍵“Ctrl+F7”),則系統自動創建一個工作區并開始編譯操作,如圖1-12所示。

圖1-12 程序編譯
如果在編譯過程中沒有發現錯誤,則系統提示“0 error(s), 0 warning(s)”(如圖1-12所示)。反之,如果在編譯的過程中發現錯誤,則在下面的信息框中指出錯誤的類型和位置。如圖1-13所示。此時,需要用戶重新返回編輯狀態修改并重新編譯程序,直到消除錯誤為止。

圖1-13 編譯錯誤信息提示
②連接 完成編譯后,繼續選擇“建立(Build)”菜單中的“Build”命令,則系統自動完成連接操作,如圖1-14所示。

圖1-14 程序連接
③運行 最后,繼續選擇“建立(Build)”菜單中的“Execute”命令(如圖1-15所示),則系統自動執行編譯、連接后生成的可執行程序,并彈出執行窗口,如圖1-16所示。

圖1-15 程序運行

圖1-16 程序運行的結果
(5)工作區管理
在Visual C++ 6.0集成開發環境中,系統會為每個項目建立一個相互獨立的工作區,以完成相關開發和調試。因此,當用戶想要開始調試下一個程序的時候,一定要首先選擇“文件(File)”→“關閉工作區(Close Workspace)”命令來關閉當前程序所用工作區,否則,通過“新建”方式所新建的源文件將與原來的程序工作在同一工作區,從而產生錯誤。
以上是關于Visual C++ 6.0集成開發環境的一個極其簡要的介紹。有關Visual C++ 6.0集成開發環境的更詳細介紹,請參閱實驗指導書及其他參考資料。
- Modular Programming with Python
- Java EE 6 企業級應用開發教程
- Building a Game with Unity and Blender
- Building an RPG with Unity 2018
- C程序設計實踐教程
- CRYENGINE Game Development Blueprints
- Mastering jQuery Mobile
- Mudbox 2013 Cookbook
- C語言程序設計實踐
- Microsoft Dynamics GP 2013 Cookbook
- Three.js Essentials
- Learning Rust
- Java Web程序開發參考手冊
- 軟件自動化測試實戰解析:基于Python3編程語言
- 羅布樂思開發官方指南:Lua 語言編程