程序员的自我修养---链接,装载和库
来源:互联网 发布:nginx 安装 编辑:程序博客网 时间:2024/05/16 19:28
有人说,这本书只是比<loader and linker> 多一些实例罢了,但是我稍微看了一下loader and linker,比较难以读懂,而且没有中文译本。
所以还是跑回来看这本书,潘老师推荐的,应该不会有错吧!
2012.7.13
第四章,静态链接中,
1. 弱类型与强类型: 弱类型如未初始化的全局变量定义等。我的理解是,不是在本文件中定义的变量都是弱定义。
2. 静态链接库,是用ar把一些.o文件打包的集合。静态链接库中,每个.o文件只含有一个函数,因为静态链接会把函数包含进入自己编写的程序中,为了减小程序的体积,所有静态链接库中的每个.o文件只包含一个函数。
3. 链接控制一般有三种方法:
(1) 使用命令行来给链接器指定参数,如ld的-o -e参数,就属于这一类。
(2) 将链接指令存放在目标文件里面,如Visual c++就把链接参数放在PE目标文件的.drectve段以用来传递参数。
(3) 使用链接控制脚本,这是最灵活最强大的链接控制方法。
ld的默认的链接脚本放在/usr/lib/ldscripts/下,不同的机器平台、输出文件格式都有相应的链接脚本。Intel IA32下普通可执行ELF文件链接脚本为elf_i386.x; IA32下,共享库的链接脚本文件为elf_i386.xs等。
2012.7.13
loader:
如何加载可执行文件? 就是调用exec来加载,分配内存等
crt:
C runtime library, 用exec加载可执行文件,但是可执行文件不仅仅只有我们写的main这些函数,在执行main还需要做许多的操作,这就是crt的作用。crt在glibc和msvc/crt中
对应的也有c++ runtime library
这本书真是叫做修养,一点都不言过其实,两年后才真的读懂了这本书,
从system call->crt->main, 所有程序执行遇到的东西都将透彻了,好书,必须的推荐
2014.7.30
- 程序员的自我修养--链接,装载,库
- 《程序员的自我修养-链接、装载和库》序
- 程序员的自我修养---链接,装载和库
- 《程序员的自我修养——链接、装载与库》
- 《程序员的自我修养——链接、装载与库》
- 程序员的自我修养 -- 链接、装载与库
- 读书笔记之《程序员的自我修养--链接、装载与库》
- 《程序员的自我修养—链接、装载与库》
- 《程序员的自我修养》-链接、装载与库
- 程序员的自我修养--链接、装载与库
- 读《程序员的自我修养-链接装载与库》
- 《程序员的自我修养--链接、装载与库》
- <程序员的自我修养-链接,装载与库> 阅读笔记
- 《程序员的自我修养--链接、装载与库》--读书笔记
- 读书笔记之《程序员的自我修养--链接、装载与库》
- 程序员的自我修养-链接装载与库笔记
- 《程序员的自我修养--链接、装载与库》笔记--第二章 编译和链接
- 程序的链接、装载和库——《程序员的自我修养》笔记
- c# 图像读取几种方法
- Wireshark和TcpDump抓包分析心得
- IOS开发资料和开源代码Part2
- jsp 编码问题
- 施密特:Google 无人驾驶汽车必将代替传统汽车
- 程序员的自我修养---链接,装载和库
- ogre中的材质脚本
- 跌跌不休,非美持续低迷
- Android JNI操作指南
- IOS开发资料和开源代码Part1
- 禁止oracle本地登录 及 解决 ORA-03135连接失去联系
- 永不放弃——提高班开学之寄语
- 大并发处理解决方案
- 产品经理修炼之道