根据不列颠百科全书汇编语言
主要是特定计算机的机器语言的符号等价物。
如果这是真的,为什么像GAS这样的汇编程序会输出带标题的文件?
我确信ELF / Mach-O / PE标头不是“机器语言”。
那么为什么汇编程序 只是 汇编汇编语言并将二进制文件格式化为链接器?
答案 0 :(得分:2)
问题是机器直接装配,但操作系统必须为二进制文件设置一个位置。这就是为什么你有像ELF标题的东西。您的操作系统需要知道代码的位置,BSS部分,加载数据的位置等等。如果没有此信息,操作系统无法正确加载,如果您只是给它原始组件。
如果您的汇编代码包含内联数据(编码到说明中),那么您可以说标题是不必要的,但很少出现这种情况。