我的问题是关于 .size 运算符在 ARM CORTEX M 启动文件中的使用,例如这个启动脚本。
我已经阅读了有关 .size 运算符的其他问题,我的理解是以下行:
.size X,.-X
允许通过当前位置 (.) 与符号 X 的定义之间的距离来定义 X 的大小。
当在 X 定义的末尾使用此行时,这是可以的。没问题。但是在符号之前使用它如何工作?
在启动脚本的第 94 行,您可以阅读:
.section .isr_vector,"a",%progbits
.type g_pfnVectors, %object
.size g_pfnVectors, .-g_pfnVectors
g_pfnVectors:
.word _estack
.word Reset_Handler
[...]
它不应该定义-1的大小吗????它怎么能工作?我想这不是错误,因为您可以在所有 STM32 启动代码中找到它^^
谢谢,