这是定义结构指针地址吗?

  • 本文关键字:地址 指针 结构 定义 c
  • 更新时间 :
  • 英文 :


下面这段代码让我有点迷惑。这是什么意思?定义精灵指针的起始位置?

#define ELFHDR ((struct Elf *) 0x10000)


看了下面的一些回答后,我意识到我的问题不够清楚。我不确定这个代码是什么意思?

((struct Elf *) 0x10000)

宏用于以下函数:

readseg((uint32_t) ELFHDR, SECTSIZE*8, 0);

将宏ELFHDR定义为指向地址0x10000的指针。显然,代码的作者知道ELF头在那里,但这并不是设置它的原因。它仍然在链接器脚本中设置。

由于这个设置是正确的(通常它是正确的…),访问ELFHDR导致读取可执行文件自己的ELF头。

在我读了这个线程之后,我意识到有两种方法来定义指针:

int *a

int* a

这篇文章解释得很好。

这个宏意味着它定义了一个ELF结构类型的指针,它的虚拟内存地址从0x10000开始。

最新更新