链接装载与库_读书笔记(二)
来源:互联网 发布:在js中一对中括号 编辑:程序博客网 时间:2024/06/03 17:08
第四章 静态链接
链接 $ld
VMA ( vitual memory address )
LMA ( load memory address )
COMMON 多个弱类型或者弱引用,在链接时划分内存我们以最大内存为准。
API application programing interface 源代码层面的接口
ABI application binary interface 二进制代码层面的接口
两种c++ ABI 标准 window visual c++ he gnu 的gcc 标准,两种互不兼容。
为什么静态运行库里面一个一个目标文件只包含一个函数,比如libc.a 里面printf.o 只有printf() 函数, 而strlen.o 里面只有 .strlen() 函数?
因为 连接器链接动态库是以.o文件也就是目标文件(object file) 为单位的。如果一个目标文件中放了多个函数,比如printf.o里面还有很多其他函数,我们在调用printf()时,会把所有同一个.o文件的函数都调用进去,增大了内存空间。因此一个目标函数只包含一个函数,然后调用哪个函数就链接哪个函数的目标文件,这样最大的减少了文件的内存空间。
主要摘录的是书籍中和我工作比较相关的内容。
0 0
- 链接装载与库_读书笔记(二)
- 链接装载与库_读书笔记(一)
- 读书笔记之《程序员的自我修养--链接、装载与库》
- 《程序员的自我修养--链接、装载与库》--读书笔记
- 读书笔记之《程序员的自我修养--链接、装载与库》
- 链接、装载与库
- 装载、链接与库
- 装载、链接与库
- 装载、链接与库
- 装载、链接与库
- 链接、装载与库
- 链接、装载与库:可执行文件的装载
- 【读书笔记】程序员的自我修养:链接、装载与库 第二章 编译与链接
- [Mo]程序员的自我修养-链接、装载与库读书笔记【1】-gcc编译、链接
- 链接、装载与库—编译和链接(2.4)
- 装载、链接与库总结
- 【链接,装载与库】理解链接
- 链接、装载与库:静态链接
- linux ubuntu下JDK版本修改问题
- 剑指offer之面试题20:顺时针打印矩阵
- windows下安装theano
- NLMS及MDF AEC中核心理论点突破
- 关于状态码
- 链接装载与库_读书笔记(二)
- 翻翻git之---SharedPreferences好用的封装库 PreferencesManager
- JavaScript的strict模式
- Oracle-BPM(一)
- UIViewContentMode 图片显示模式
- python ConfigParser模块详解
- RxJava----简介
- sysctl.conf中文参数指南
- win7iis配置