据我所知,使用objdump可以使用
.section .text
和
.text
是等效的。这是真的?
摘自汽油手册.section name:
使用
.section
指令将以下代码组合到名为 name 的节中。
摘自汽油手册.text subsection:
告诉
as
将以下语句组合到编号为 subsection 的文本子节的末尾,这是一个绝对表达式。如果省略 subsection ,则使用第零子节。
我的问题也适用于.data
。
答案 0 :(得分:2)
我认为两者之间的差异很小。
.section
允许程序员指定 any 节名称,因此a.out
格式不支持本文档中所述(而对于 COFF 和 ELF )。
相反,仅实际支持任意命名节的目标才支持此伪指令;例如,对于a.out目标,即使使用标准的a.out节名称,也不接受。
.text
始终指定代码节,而不考虑其输出格式中的实际名称。
考虑到在96年之前添加了a.out
,而 ELF ,我不会认为与这种旧格式的兼容性成为问题。
.text
和.data
节省了一些击键操作,但是为了保持一致性,始终使用.section
是完全可以的。