1、.obj文件的内部结构

2、映射到进程虚拟空间
3、链接的原理
 

 C++ Code 
1
2
3
4
5
6
7
8
9
 
1、未解决符号表:提供了所有在该编译单元里引用但是定义并不在本编译单元里的符号及其出现的地址。 
2、导出符号表提供了本编译单元具有定义,并且愿意提供给其他编译单元使用的符号及其地址。 
3、地址重定向表提供了本编译单元所有对自身地址的引用的记录。 
4、段表决定ELF文件的段结构

1、决定各个目标文件在最终可执行文件里的位置。
2、访问所有目标文件的地址重定向表,对其中记录的地址进行重定向(即加上该编译 单元实际在可执行文件里的起始地址)。
3、遍历所有目标文件的未解决符号表,并且在所有的导出符号表里查找匹配的符号,并在未解决符号表中所记录的位置上 填写实际的地址
(也要加上拥有该符号定义的编译单元实际在可执行文件里的起始地址)。

 
4、个人见解

 
 

最新文章

  1. Android软件开发之ListView 详解【转】
  2. 两千行PHP学习笔记
  3. C#中用RichTextBox实现图文混排和保存的例子
  4. mongodb php
  5. python wmi使用
  6. Prestashop 页面空白
  7. Internal Server Error500
  8. javamail模拟邮箱功能发送电子邮件-基础实战篇(javamail API电子邮件实例)
  9. [OM]Dropship SO(直发/直运订单)的流程
  10. mongoDB启动参数备忘
  11. NOI十连测 第五测 T2
  12. 仿bmfn 底部
  13. Python 3中字符串可以被改变吗?
  14. MVC登出友情提示
  15. orleans exception序列化
  16. layui使用记录
  17. 由自定义事件到vue数据响应
  18. Mycat源码中的单例模式
  19. android 4.0 webview 无法播放视频
  20. 实习医生风云第一至九季/全集Scrubs迅雷下载

热门文章

  1. LGP4577【JSOI2018】战争
  2. ASP.NET MVC API 接口验证
  3. 【贪心】【CF1061D】 TV Shows
  4. C++:(拷贝,继承,智能指针)练习
  5. Long与long的区别
  6. R语言 线性回归
  7. Docker多主机网络 OpenvSwitch
  8. Integer.parseInt不同jdk源码解析
  9. ElasticStack系列之六 & 版本冲突处理之乐观锁
  10. Hadoop生态圈-Sqoop部署以及基本使用方法