C語言程序執行流程

C語言程序執行中的許多步驟。要了解C語言程序的流程,首先我們來看一個簡單的程序。

源文件:simple.c 代碼 -

#include <stdio.h>  
void main(){  
    printf("Hello C Language\n");  
}

我們試着通過下面給出的圖示來了解上述程序的流程。

C語言程序執行流程

根據上面執行流程,我們簡要說明每個階段的處理過程:

(1) C語言程序(源代碼)首先發送到預處理器(preprcessor)。預處理器負責將預處理指令轉換成各自的值。預處理器生成擴展的源代碼(Expanded source code)。

(2)*將擴展源代碼(*Expanded source code)發送給編譯器(Compiler),編譯代碼並將其轉換爲彙編代碼。

(3) 彙編代碼(Assembly code)被髮送到彙編器(Assembler),彙編代碼將其轉換成目標代碼。現在生成一個simple.obj文件。

(4)*目標代碼(*Object Code)被髮送到鏈接器(linker),鏈接到庫,例如頭文件。 然後將其轉換爲可執行代碼。 將生成一個simple.exe文件。

(5)*可執行代碼發送到加載器(*loader),將其加載到內存中,然後執行。 執行後,輸出將發送到控制檯。

現在,我們將創建上述程序的流程圖:
C語言編譯

在上面的流程圖中,執行以下步驟來執行程序:

  1. 首先,將輸入文件hello.c傳遞給預處理器,然後預處理器將源代碼轉換為擴展的源代碼。擴展源代碼的擴展名為hello.i。
  2. 擴展的源代碼將傳遞給編譯器,然後編譯器將此擴展的源代碼轉換為彙編代碼。彙編代碼的擴展名是hello.s。
  3. 然後將此彙編代碼發送到彙編器,由彙編器將彙編代碼轉換為目標代碼。
  4. 創建目標代碼後,鏈接器將創建可執行文件。然後,加載程序將加載可執行文件以供執行。