c語言匯編過程
匯編過程實(shí)際上指把匯編語言代碼翻譯成目標(biāo)機(jī)器指令的過程。對于被翻譯系統(tǒng)處理的每一個(gè)C語言源程序,都將最終經(jīng)過這一處理而得到相應(yīng)的目標(biāo)文件。目標(biāo)文件中所存放的也就是與源程序等效的目標(biāo)的機(jī)器語言代碼。
目標(biāo)文件由段組成。通常一個(gè)目標(biāo)文件中至少有兩個(gè)段:
代碼段 :
該段中所包含的主要是程序的指令。該段一般是可讀和可執(zhí)行的,但一般卻不可寫。
數(shù)據(jù)段:
主要存放程序中要用到的各種全局變量或靜態(tài)的數(shù)據(jù)。一般數(shù)據(jù)段都是可讀,可寫,可執(zhí)行的。
UNIX環(huán)境下主要有三種類型的目標(biāo)文件:
1、可重定位文件
其中包含有適合于其它目標(biāo)文件鏈接來創(chuàng)建一個(gè)可執(zhí)行的或者共享的目標(biāo)文件的代碼和數(shù)據(jù)。
2、共享的目標(biāo)文件
這種文件存放了適合于在兩種上下文里鏈接的代碼和數(shù)據(jù)。第一種事鏈接程序可把它與其它可重定位文件及共享的目標(biāo)文件一起處理來創(chuàng)建另一個(gè)目標(biāo)文件;第二種是動(dòng)態(tài)鏈接程序?qū)⑺c另一個(gè)可執(zhí)行文件及其它的共享目標(biāo)文件結(jié)合到一起,創(chuàng)建一個(gè)進(jìn)程映象。
3、可執(zhí)行文件
它包含了一個(gè)可以被 操作系統(tǒng)創(chuàng)建一個(gè)進(jìn)程來執(zhí)行之的文件。
匯編程序生成的實(shí)際上是第一種類型的目標(biāo)文件。對于后兩種還需要其他的一些處理方能得到,這個(gè)就是鏈接程序的工作了。
【c語言過程】相關(guān)文章:
C語言的發(fā)展過程10-25
C語言編譯過程總結(jié)詳解10-31
用visual c++ 運(yùn)行C語言程序的過程08-31
最新C語言編譯過程總結(jié)詳解08-27
C函數(shù)的調(diào)用過程07-15
C語言試題08-02
C語言試題11-01
C語言的元素09-17
C語言的指針10-11