arm-linux-ld 与目标文件的顺序有关吗

arm-linux-ld 与目标文件的顺序有关吗,第1张

gcc是编译器,负责对c代码的编译,ld是连接器 负责将多个*.o的目标文件链接成elf可执行文件.elf可执行文件是unix常用的可执行文件类型,就像windows的exe文件.elf文件中有很多信息包括段信息还有头信息,这些信息对硬件是没有意义的,所以有的时候我们通过objcopy将elf转化成bin 文件加载到内存中运行,bin文件就是一个纯二进制文件,并且你可以通过objdump将elf文件来反汇编.

bin文件是纯二进制文件,不包含任何里链接地址,符号表等信息,它的执行地址是你烧写bin文件的地址,烧写到哪个地址处就在那里执行;

elf文件的执行地址是在文件编译链接时候确定的,烧写的地址并不是执行的地址,加载器会解析elf文件里记录的执行地址,将其从烧写地址处拷贝到执行地址处执行;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11594105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存