这段汇编语言语句中的符号是什么意思:
.size _start, . - _start
我搜索并发现了很多相同的示例和几个变体,但没有一个解释这些组件的含义。 文档说 ELF 的格式是
.size name , expression
。 我认为它是说大小是“某物”减去_start
的地址。 这是对的吗?如果是的话,“某物”是什么?
我认为它是说大小是“某物”减去
的地址。这是对的吗?如果是的话,“某物”是什么?_start
没错,那个“东西”实际上是位置计数器,它是程序中当前由汇编器处理的位置。您的特定汇编器为此使用点 .,而许多其他汇编器使用美元符号 $.
正如 @fuz 在 comment 中所写,如果位置计数器当前位于 _start 函数的末尾,则位置计数器与函数开始的地址之间的差异给出了其大小。