我正在编写自己的操作系统(静态地址),并且我很难让链接器始终将我的_start
函数放在进程中我想要的位置。我在我的构建文件中指定了位置-Ttext 0x10000
(在这个例子中我们只说 0x10000)。
通常这是可行的,但是当我使用-O2
链接器时,会将我的main
函数放在这个地址上。
那么我怎样才能确保它_start
最终出现在这个地址上呢?是否可以不编写链接器脚本?
该函数_start
对所有进程都是通用的,并且在程序返回而不是调用exit()
. 我脑子里有一个解决方案,但我更愿意用链接器来代替它。