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

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