- C/C++程序設計教程
- 孫淑霞 肖陽春 魏琴等編著
- 741字
- 2018-12-30 07:11:45
1.6.2 編譯
編譯是指用C語言提供的編譯器將編輯好的源程序翻譯成二進制形式的目標代碼文件的過程。目標代碼文件的擴展名為“.obj”,又稱OBJ文件。
1.編譯過程
C的編譯過程分為2個子過程:
① 預處理過程。執(zhí)行程序中的預處理命令。
② 編譯過程。進行詞法分析和語法分析。
在編譯過程中,編譯器將檢查源程序每一條語句的詞法和語法錯誤。
2.編譯中的錯誤
編譯錯分為兩種性質的錯誤:Error(致命)錯誤和Warning(警告)錯誤。
致命錯誤將終止程序繼續(xù)編譯,不會生成OBJ文件,必須修改程序重新編譯。
警告錯是編譯程序不能百分之百地確定的錯誤,即源程序在這里可能有錯。如果程序中只有Warning錯,則可以連接生成可執(zhí)行程序。警告錯有兩種,一種不會影響程序運行結果,另一種則會影響程序運行結果,這時需要分析具體情況,找到并修改錯誤。
3.編譯方法
執(zhí)行“Compile”菜單中的“Compile to OBJ”命令。如果編譯成功,就可得到一個擴展名為“.obj”的目標代碼程序。如果在編譯過程中發(fā)現(xiàn)了錯誤,在屏幕下方的信息窗口中就會顯示出錯誤的類型,錯誤發(fā)生的位置和錯誤的原因,即:
<錯誤性質> <錯誤發(fā)生的位置>:<錯誤內容>
在圖1.11的信息窗口中指出:程序1-1.C的錯誤性質是Error,該程序錯誤發(fā)生的位置在第4行;錯誤的內容是main()函數(shù)中的符號k未定義。

圖1.11 信息窗口中顯示的出錯信息
在編譯過程中可以用<F6>鍵在程序編輯窗口和信息窗口中進行切換,以便修改程序或者查看錯誤提示信息。
值得注意的是,編譯時,當信息窗口中列出了很多行的錯誤信息時,并不表示需要依次對這些行進行修改,有可能是一個錯誤所致。例如,程序中有一個變量沒有定義,那么,所有使用該變量的行在編譯時都會報錯。當加上對該變量的定義時,所有由該變量引起的錯誤都將消失。所以在修改編譯錯誤時,對不明顯的錯誤,最好是修改一個錯誤就重新編譯一次。
《C/C++程序設計實驗指導與測試》(第3版)的附錄C中列出了常見的編譯錯誤。
- Dynamics 365 for Finance and Operations Development Cookbook(Fourth Edition)
- Java異步編程實戰(zhàn)
- Python自動化運維快速入門
- Getting Started with CreateJS
- oreilly精品圖書:軟件開發(fā)者路線圖叢書(共8冊)
- Scratch 3游戲與人工智能編程完全自學教程
- C程序設計案例教程
- 學Python也可以這么有趣
- Learning DHTMLX Suite UI
- 利用Python進行數(shù)據(jù)分析(原書第3版)
- 運用后端技術處理業(yè)務邏輯(藍橋杯軟件大賽培訓教材-Java方向)
- 蘋果的產品設計之道:創(chuàng)建優(yōu)秀產品、服務和用戶體驗的七個原則
- Learning Material Design
- Mastering PowerCLI
- Java Web動態(tài)網站開發(fā)(第2版·微課版)