撰寫程式的流程如下圖,所需要的工具包括Text Editor,Preprocessor,Compiler,Linker等四種
Text Editor:程式設計師利用此工具編輯(Edit)Source code file(Text Format), 也就是說產生.c檔的工具。
Preprocessor:結合Source code file(.c檔)和零到多個Header files(.h檔),經過編輯(Edit)後成為另一個修改過的Source code file。
Compiler:將source code編譯(compile)產生Object code file(.o檔, Binary Format),同一個作業平台的Object code格式相同,也就是說Object code file可以由不同程式語言的Compiler產生。
Linker:將幾個Object code files連結(link)產生一個可執行檔(.exe檔)。
如果你的開發環境是在Windows上,下面有關vi和gcc的說明可以跳過。
在Unix作業系統內,最常見的Text Editor是vi。
Preprocessor,Compiler和Linker可以是三個不同的程式,也可以包成一個。Unix作業系統上最常見的C語言開發環境是gcc(GNU C Compiler),他把Preprocessor,Compiler和Linker三個功能合在一起以方便使用。最簡便的用法是:
gcc hello.c
若hello.c完全沒有錯誤,則以上命令會產生一個執行檔a.out,在命令列下打a.out即可觀察你所寫程式的執行結果。有時候若你設定的環境變數不對,則可能出現Command Not Found的錯誤,此時你可輸入./a.out。若不想讓gcc編譯出來的執行檔叫做a.out,則可下達以下命令:
gcc -o exename hello.c
撰寫大型程式時,很可能會有多個.c的原始程式檔,假設他們的名稱是source1.c, source2.c, source3.c...如果要個別編譯這些source code,則下達如下命令:
gcc -c source1.c
若編譯成功,會產生source1.o的檔案。要將數個Object Code連結成為一個可執行檔,則下達以下命令:
gcc source1.o source2.o source3.o
至於Windows作業系統上的程式編寫環境,最常使用的是Microsoft Visual Studio,裡面就包含了Visual C++的開發環境。因為C++可視為C語言的父集合,因此你也可以用Visual C++來開發C程式。這類視覺化的開發工具(Dev C++也是其中一種),已經把Text Editor, Preprocessor, Compiler, Linker整合在一起, 並包括Project Management(專案管理)等功能, 因此這類工具又稱為Integrated Development Environment(IDE,整合開發環境)。