1
根據百科全書Britanica彙編語言是爲什麼像GAS這樣的彙編器輸出的不僅僅是一個二進制文件?
主要是特定計算機的機器語言的符號等價物。
如果這是真的,爲什麼彙編器像GAS輸出文件的頭?
我確定ELF/Mach-O/PE標題不是「機器語言」。
那麼,爲什麼不裝配只是組裝彙編語言和離開格式化二進制的鏈接?
根據百科全書Britanica彙編語言是爲什麼像GAS這樣的彙編器輸出的不僅僅是一個二進制文件?
主要是特定計算機的機器語言的符號等價物。
如果這是真的,爲什麼彙編器像GAS輸出文件的頭?
我確定ELF/Mach-O/PE標題不是「機器語言」。
那麼,爲什麼不裝配只是組裝彙編語言和離開格式化二進制的鏈接?
問題是機器運行的是直接裝配,但操作系統必須爲二進制執行設置一個位置。這就是爲什麼你有像ELF標題的東西。您的操作系統需要知道代碼在哪裏,BSS部分,數據加載位置等。沒有這些信息,操作系統無法正確加載,如果您只是給它原始程序集。
如果你有帶內聯數據的彙編代碼(編碼到指令中),那麼你可以說頭是不必要的,但很少有這種情況。
爲什麼不能在鏈接階段添加標題?不管怎樣,這不是一個彙編程序。 – Hawken 2012-04-23 04:20:51
@Hawken鏈接器還需要標題信息,如果不是,它不知道哪些部分在哪裏。 – 2012-04-23 04:22:20
但是,這不就是彙編程序的責任嗎?將部分數據保存在單獨的文件中是否更有意義? – Hawken 2012-04-23 04:41:44