一个可执行程序 如果没有被加载到内存中 它也有地址
所有的可执行程序 就是一个seg
那么所有seg 所有函数 变量编址起始偏移量都从0开始
动态库如何与可执行程序关联
程序刚开始运行时 其实先去_start
该函数会先设置堆栈 然后初始化数据段
进行动态链接 调用动态链接器的代码来解析和加载程序依赖的动态库
然后调用_libc_start_main 进行一些额外的初始化操作
然后上者才调用main
动态连接实际上将链接的过程推迟到了程序加载的时候
一个可执行程序 如果没有被加载到内存中 它也有地址
所有的可执行程序 就是一个seg
那么所有seg 所有函数 变量编址起始偏移量都从0开始
动态库如何与可执行程序关联
程序刚开始运行时 其实先去_start
该函数会先设置堆栈 然后初始化数据段
进行动态链接 调用动态链接器的代码来解析和加载程序依赖的动态库
然后调用_libc_start_main 进行一些额外的初始化操作
然后上者才调用main
动态连接实际上将链接的过程推迟到了程序加载的时候

被折叠的 条评论
为什么被折叠?