这是什么意思:.size _start, . - _在汇编程序中开始?

问题描述 投票:0回答:1

这段汇编语言语句中的符号是什么意思:

.size   _start, . - _start

我搜索并发现了很多相同的示例和几个变体,但没有一个解释这些组件的含义。 文档说 ELF 的格式是

.size name , expression
。 我认为它是说大小是“某物”减去
_start
的地址。 这是对的吗?如果是的话,“某物”是什么?

assembly arm gnu-assembler
1个回答
0
投票

我认为它是说大小是“某物”减去

_start
的地址。这是对的吗?如果是的话,“某物”是什么?

没错,那个“东西”实际上是位置计数器,它是程序中当前由汇编器处理的位置。您的特定汇编器为此使用点 .,而许多其他汇编器使用美元符号 $.

正如 @fuz 在 comment 中所写,如果位置计数器当前位于 _start 函数的末尾,则位置计数器与函数开始的地址之间的差异给出了其大小。

© www.soinside.com 2019 - 2024. All rights reserved.