c語言的編譯鏈結過程:把c程式(源**)轉換成可以在機器上執行的程式(可執行**)。需要進行編譯和鏈結的過程。
1 編譯:主要包含兩個過程
1 預處理:巨集定義、檔案包含、條件編譯。在正式開始編譯之前根據預處理命令來修改原始檔的內容
2 編譯、優化:通過詞法分析和語法分析將指令翻譯成彙編**
2 彙編:把組合語言**翻譯成機器指令的過程----->得到目標檔案
目標檔案至少有兩段:
**段:該段中所包含的主要是程式的指令。該段一般是可讀和可執行的,但一般卻不可寫。
資料段:主要存放程式中要用到的各種全域性變數或靜態的資料。一般資料段都是可讀,可寫,可執行的。
C語言的編譯鏈結過程
編寫的乙個c程式 源程式 轉換成可以在硬體上執行的程式 可執行程式 需要進行翻譯環境和執行環境。翻譯環境則包括兩大過程編譯和鏈結,經過編譯和鏈結過程便可形成可執行程式。一 編譯 將文字形式的源 翻譯成計算機認識的機器語言 編譯又分為預處理器處理 編譯 彙編。1.預處理器處理 主要是進行文字操作,包括...
c 編譯鏈結過程
llinux下編譯乙個c 程式的典型過程 1.編譯預處理 預編譯程式完成的工作,可以說成是對源程式的 替換 工作。經過這個過程,生成乙個沒有巨集定義 沒有條件編譯指令 沒有特殊符號的輸出檔案。2.編譯 優化階段 通過詞法分析 語法分析,在確認所有的指令都符合語法規則之後,將其翻譯成等價的中間 或彙編...
C 學習 C語言編譯鏈結過程
將乙個字尾為.c的原始檔轉換為可執行檔案的過程就是編譯與鏈結。對於編譯階段分為兩個階段 編譯 彙編 編譯階段又分為預處理階段 編譯優化階段。預處理階段 預處理階段根據檔案中的預處理指令來對原始檔進行修改。主要包括 巨集定義指令 條件編譯指令 標頭檔案包含指令 特殊符號。因此預編譯階段就是對原始檔的替...