c程式的編譯過程結束後,會為每個c檔案生成乙個對應的目標檔案。
目標檔案由一系列的section組成,最常見的section包括:
在鏈結過程,會將各個目標檔案的.text都拼在一起,.data都拼在一起,.bss都拼在一起… 最終生成乙個可執行檔案,該可執行檔案也包含.text, .data, .bss等section。
我們知道乙個程式在執行時的記憶體包括堆和棧,這兩者完全是在執行時期決定的,而不受目標檔案的影響。
目標檔案的格式是平台相關的,例如linux平台上目標檔案的格式主要是elf,而windows上則是pe/coff。
C語言概述
c語言歷史 1970年 unix的研製者丹尼斯 里奇 dennis ritchie 和肯 湯普遜 ken thompson 研製出b語言 bcpl語言 19世紀70年代末丹尼斯 里奇第一次把b語言改為c語言 1983年美國國家標準委員會 ansi 對c語言進行標準化,頒布了第乙個c語言草案 83an...
C語言概述
c語言概述 從乙個簡單的例項開始 math.h stdio.h main 源程式的結構特點 1.乙個 語言源程式可以由乙個或多個原始檔組成。2.每個原始檔可由乙個或多個函式組成。3.乙個源程式不論由多少個檔案組成,都有乙個且只能有乙個main函式,即主函式。4.源程式中可以有預處理命令 includ...
c 語言概述
c 語言是目前世界上最流行和應用最廣的一種計算機高階程式語言。他從早期的c語言發展演化而來,c 對c語言不是簡單的擴充,而是從面向過程的語言發展為既面向過程又物件導向的語言,以適應軟體開發技術從面向過程轉向物件導向的客觀發展的需要。c 語言是對c語言的繼承,豐富和發展,既適合開發面向過程的程式,又適...