当前位置: 技术问答>linux和unix
请教关于ld链接器的使用?
来源: 互联网 发布时间:2016-01-11
本文导语: 比如i386的启动地址在0xfffffffc中,怎么保证程序的首地址在该启动地址上,是使用连接器,还是在程序中定义,并且是如何定义的,启动后一般是在启动地址上加上跳转语句,这个跳转的目标地址又是如何确定的,还...
比如i386的启动地址在0xfffffffc中,怎么保证程序的首地址在该启动地址上,是使用连接器,还是在程序中定义,并且是如何定义的,启动后一般是在启动地址上加上跳转语句,这个跳转的目标地址又是如何确定的,还有关于ld其他的参数如TEXT,ROTEXT,DATA,STACK等分别是什么含义具体又是如何使用的,man ld实在太难看了,这方面的资料也实在不多,望大虾指点迷津!!!????
|
系统上电执行的地址由BIOS确认。kernel的位置由boot loader来保证。
程序的执行由系统调用exec来实现,具体执行应该是进程调度那块。
每个进程在运行时都有自己的虚拟地址空间,由kernel将其映射到物理内存地址。
objdump -d abc可以查看一个可执行文件的代码。
对于linux地址空间分布,可以看看这里:
http://blog.mcuol.com/user/Article/557.html
程序的执行由系统调用exec来实现,具体执行应该是进程调度那块。
每个进程在运行时都有自己的虚拟地址空间,由kernel将其映射到物理内存地址。
objdump -d abc可以查看一个可执行文件的代码。
对于linux地址空间分布,可以看看这里:
http://blog.mcuol.com/user/Article/557.html