C語言程序執(zhí)行中的許多步驟。要了解C語言程序的流程,首先我們來看一個(gè)簡(jiǎn)單的程序。
源文件:simple.c 代碼 -
#include <stdio.h>
void main(){
printf("Hello C Language\n");
}
我們?cè)囍ㄟ^下面給出的圖示來了解上述程序的流程。

根據(jù)上面執(zhí)行流程,我們簡(jiǎn)要說明每個(gè)階段的處理過程:
(1) C語言程序(源代碼)首先發(fā)送到預(yù)處理器(preprcessor)。預(yù)處理器負(fù)責(zé)將預(yù)處理指令轉(zhuǎn)換成各自的值。預(yù)處理器生成擴(kuò)展的源代碼(Expanded source code)。
(2)將擴(kuò)展源代碼(Expanded source code)發(fā)送給編譯器(Compiler),編譯代碼并將其轉(zhuǎn)換為匯編代碼。
(3) 匯編代碼(Assembly code)被發(fā)送到匯編器(Assembler),匯編代碼將其轉(zhuǎn)換成目標(biāo)代碼。現(xiàn)在生成一個(gè)simple.obj文件。
(4)目標(biāo)代碼(Object Code)被發(fā)送到鏈接器(linker),鏈接到庫(kù),例如頭文件。 然后將其轉(zhuǎn)換為可執(zhí)行代碼。 將生成一個(gè)simple.exe文件。
(5)可執(zhí)行代碼發(fā)送到加載器(loader),將其加載到內(nèi)存中,然后執(zhí)行。 執(zhí)行后,輸出將發(fā)送到控制臺(tái)。