深入理解计算机系统(读书笔记)

来源:互联网 发布:蓝牙车载充电器 知乎 编辑:程序博客网 时间:2024/06/04 20:00

link

  • 对于一个最终链接而成的elf文件,它里面所包含的东西,就是.text段,.rodata段,.data段,.bss段,.symtab等这些数据内容


  • 对于符号表,有weak和strong之分,没有初始化的符号定义为weak,已经初始化的为strong,如果link发现两个relocatable object含有相同的符号定义时,有三种情况:
1. 两个模块都是strong,则链接报错;
2. 一个strong,一个weak,则使用strong;
3. 两个weak,使用任意一个,但这种情况可能会导致比较隐藏的错误;

静态链接

  • 链接静态库时,只会把引用到的符号加入到最终的可执行文件中;不相关的符号不会被加入;
  • 重定向:把不同的.o文件中的data端,符号段等合并成一个,形成最终的可执行文件;
0 0
原创粉丝点击