读书笔记c专家第5章对链接的思考
来源:互联网 发布:php软件是什么 编辑:程序博客网 时间:2024/06/13 05:48
第五章:对链接的思考
动态链接允许系统提供一个庞大的函数库集合,可以提供多种有用的服务,但是程序将在运行时寻找他们,而不是把这些函数库的二进制代码作为自身可执行文件的一部分
静态链接:如果函数库的一份拷贝是可执行文件的物理组成部分,称之为静态链接,
动态链接:如果可执行文件只是包含了文件名,让载入器在运行时能够寻找到所需要的函数库,我们称之为动态链接
----------------------------------------------------------------------------------
动态链接的优点:
动态链接的优点是可执行文件的体积可以非常小,虽然运行速度稍微慢一些,但动态链接可以非常有效的利用磁盘空间
动态链接的目的之一是ABI(application binary interface 程序二进制接口),动态链接的主要目的是把程序与他们使用的特定的函数库版本分开,取而代之的是我们约定由系统向程序提供一个接口,该接口保持稳定,不随时间和操作系统的版本变化而变化
----------------------------------------------------------------------------------
动态链接可以从两个方面提高性能:
1:动态链接的可执行文件比功能相同的静态链接可执行文件的体积小,能够节省磁盘空间和虚拟内存,因为函数库只有在需要时才被映射到进程中
2:所有动态链接到某个特定函数库的可执行文件在运行时共享该函数库的一个单独拷贝。操作系统内核保证映射到内存中的含数据库可以被使用它的其他进程共享,提供了更好的I/O和交换空间利用率,节省了物理内存,从而提高了系统的整体性能。如果可执行文件是静态链接的,每个文件都将拥有一份函数库的拷贝,显然极为浪费空间(系统调用mmap()把文件映射到进程的地址空间中)
.so,.ld,
---------------------------------------------------------------------------------------------------------------
- 读书笔记c专家第5章对链接的思考
- 【C专家编程】第5章 对链接的思考
- 《C专家编程》学习笔记(对链接的思考)
- 《C专家编程》:对链接和函数库的思考(五)
- 【C专家编程】第7章 对内存的思考
- 《C专家编程》读书笔记5
- C专家编程学习笔记——第五、六、七章:对编译器和系统底层的思考
- C专家编程读书笔记——time_t知识链接
- 《C专家编程》读书笔记:1~3章
- C专家编程-读书笔记之第三章
- C专家编程-读书笔记之第三章
- 读书笔记---c专家编程(第六章)
- 读书笔记----c专家编程(第七章)
- c专家编程3、4章读书笔记
- 【读书笔记】c专家编程
- 《C专家编程》读书笔记
- 《C专家编程》读书笔记
- 读书笔记之c专家
- 记录:protobuf在网游中的用法
- struts表达式
- PWM Demo
- 黑马程序员-java中this的使用
- 多维数组和指针(一)
- 读书笔记c专家第5章对链接的思考
- 多维数组和指针(二)
- Windows Mobile 6 Professional SDK
- ADC Demo
- vc 如何判断2个矩形是否有交集
- java多线程学习-java.util.concurrent详解
- 移动浏览器测试套件Ringmark - Facebook的组件开发人员
- SQL查询分析器单文件绿色版
- EEPROM Demo