laoniu_sichuan 发表于 2014-11-24 22:31

ARM汇编中的标号在C语言中是什么?

各位大神,小弟最近看uboot的源码时碰到:
.globl _armboot_start
_armboot_start:
        .word _start
然而在C语言部分有一个这个语句:
gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t));
这里有一个地方想不明白的,就是在C语言的这条语句中,_armboot_start代表的到底是_armboot_start这个标号的地址值呢还是这个地址里面的内容(也就是_start的地址值)呢?
请各位路过的大神帮忙解惑一下,感激不尽!!!

Tinnal 发表于 2014-11-24 23:37

回复 1# laoniu_sichuan


    应该是_armboot_start这个标号的地址值。

super皮波 发表于 2014-11-24 23:57

_armboot_start代表标号的地址值

laoniu_sichuan 发表于 2014-11-27 14:09

谢谢楼上两位的耐心解答,学习了。。。
页: [1]
查看完整版本: ARM汇编中的标号在C语言中是什么?