1.2.3 程序開(kāi)發(fā)流程
一般來(lái)說(shuō),使用高級(jí)語(yǔ)言進(jìn)行編程的步驟如下:
● 編輯(edit):寫(xiě)出符合語(yǔ)法的代碼,用來(lái)編輯代碼的程序即編輯器(editor)。通常程序的代碼又稱源代碼(source code),或者源文件,源文件名一般以.h、.c、.cpp為后綴;
● 預(yù)處理(preprocess):通常C++預(yù)處理器會(huì)在編譯器工作之前完成一些預(yù)處理,如完成一些替換等;
● 編譯(compile):將代碼編譯成目標(biāo)代碼,用來(lái)編譯代碼的程序即編譯器(compiler)。如果出現(xiàn)編譯錯(cuò)誤,程序員就應(yīng)該返回到編輯代碼(修改出錯(cuò)的地方),這個(gè)步驟輸出的結(jié)果一般是.obj文件;
● 連接(link):源程序可能包含對(duì)其他庫(kù)函數(shù)(如C++標(biāo)準(zhǔn)庫(kù)等)的調(diào)用,編譯產(chǎn)生的目標(biāo)代碼并不會(huì)包含被調(diào)用的函數(shù)實(shí)體,連接過(guò)程完成這些調(diào)用實(shí)體的填充,并產(chǎn)生可執(zhí)行程序。在Windows操作系統(tǒng)下,這個(gè)步驟產(chǎn)生.exe文件;
● 運(yùn)行(run):運(yùn)行可執(zhí)行代碼。如果運(yùn)行產(chǎn)生的結(jié)果發(fā)生異常,或者與預(yù)期結(jié)果不符,那么就需要繼續(xù)修改代碼(修改出錯(cuò)的地方)。此時(shí),使用調(diào)試器(debugger)進(jìn)行代碼的調(diào)試可以更快地發(fā)現(xiàn)運(yùn)行錯(cuò)誤。
注意:編譯是程序開(kāi)發(fā)流程的一個(gè)環(huán)節(jié),而一個(gè)集成開(kāi)發(fā)環(huán)境所支持的工作往往包含了程序開(kāi)發(fā)的各個(gè)部分,正是由于集成開(kāi)發(fā)環(huán)境所賦予的強(qiáng)大而完備的功能,才使得程序開(kāi)發(fā)變得如此得心應(yīng)手。
以上步驟流程描述如圖1-10所示。

圖1-10 編程的步驟
即使是最牛的程序員,也很難一次性編寫(xiě)出完全正確的程序。從圖1-10中可以看出,聯(lián)編、運(yùn)行時(shí),可能會(huì)報(bào)告“聯(lián)編錯(cuò)誤”或者“運(yùn)行錯(cuò)誤”。這時(shí)該怎么辦?程序的功能與我們的期望存在了差距,很顯然,這時(shí)就需要修改、調(diào)整源程序,讓它正確。
- Visual Basic編程:從基礎(chǔ)到實(shí)踐(第2版)
- 動(dòng)手玩轉(zhuǎn)Scratch3.0編程:人工智能科創(chuàng)教育指南
- Mastering Spring MVC 4
- 深入淺出WPF
- Learning Elixir
- Mastering Python Scripting for System Administrators
- 從0到1:HTML+CSS快速上手
- R Deep Learning Cookbook
- Linux Device Drivers Development
- 51單片機(jī)C語(yǔ)言開(kāi)發(fā)教程
- C/C++程序員面試指南
- Python深度學(xué)習(xí)原理、算法與案例
- Python項(xiàng)目實(shí)戰(zhàn)從入門(mén)到精通
- VMware vSphere Design Essentials
- Implementing DevOps with Ansible 2