会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
睿阳
一个想学技术的菜鸡
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
6
7
8
9
10
11
12
下一页
2019年3月5日
符号解析与重定位
摘要: 重定位 编译器并不知道引用符号的真正地址,暂时用临时的假地址代替着,把真正的地址计算工作留给了链接器,链接器可以根据符号的地址对每个需要重定位的指令进行地位修正。 重定位表 在ELF文件中,有一个叫重定位表的结构专门用来保存这些鱼重定位相关的信息。对于可重定位的ELF文件来说,它必须包含有重定位表,
阅读全文
posted @ 2019-03-05 19:27 睿阳
阅读(1841)
评论(0)
推荐(0)
2019年3月1日
空间与地址分配
摘要: 我们知道,可执行文件中的代码段和数据段都是由输入的目标文件中合并而来的。那么链接器是如何将它们的各个段合并到输出文件?或者说,输出文件中的空间如何分配给输入文件的。 按序叠加 最简单的方案就是直接将各个目标文件依次合并,但是这样做输出文件将会有很多零散的段。这种做法非常浪费空间,因为每个段都需要有一
阅读全文
posted @ 2019-03-01 17:09 睿阳
阅读(471)
评论(0)
推荐(0)
2019年2月28日
链接的接口——符号
摘要: 符号 链接过程的本质就是要把多个不同的目标文件之间像拼图一样拼起来,这些目标文件必须有像拼图那样的凹凸部分才能够粘合。 情景:目标文件B要用到了目标文件A中的函数“foo”。 那么就称目标文件A 定义(Define) 了函数“foo”,目标文件B 引用(Reference) 了目标文件A中的函数“f
阅读全文
posted @ 2019-02-28 13:10 睿阳
阅读(1234)
评论(0)
推荐(0)
2019年2月27日
ELF文件结构描述
摘要: 文件头 查看文件头 $ readelf h .obj Elf32_Ehdr |变量名 |英文名 |备注 | | | |e_ident |Magic |ELF魔数 | |Class |文件机器字节长度 | |Data |数据存储方式 | |Version |版本 | |OS/ABI |运行平台 | |
阅读全文
posted @ 2019-02-27 19:11 睿阳
阅读(251)
评论(0)
推荐(0)
2019年2月21日
ELF文件结构描述
摘要: 文件头 查看文件头 $ readelf -h *.obj Elf32_Ehdr 变量名 英文名 备注 e_ident Magic ELF魔数 Class 文件机器字节长度 Data 数据存储方式 Version 版本 OS/ABI 运行平台 ABI Version ABI版本 e_type Type
阅读全文
posted @ 2019-02-21 18:03 睿阳
阅读(639)
评论(0)
推荐(0)
2018年12月20日
数学:点乘与叉乘
摘要: 点乘 公式 几何意义 可用余弦定理推导 叉乘 公式 几何意义 三维上,是垂直于ab向量的法向量。 二维上,是ab向量所围成的平行四边形面积,即absinθ。
阅读全文
posted @ 2018-12-20 14:08 睿阳
阅读(1316)
评论(0)
推荐(0)
数学:三角函数
摘要: 诱导公式:奇变偶不变,符号看象限。 两角和与差: 和差化积: 积化和差: 二倍角公式: 半角公式: 辅助角公式: 万能公式:
阅读全文
posted @ 2018-12-20 13:58 睿阳
阅读(315)
评论(0)
推荐(0)
2018年10月29日
目标文件
摘要: PC平台流行的可执行文件格式(Executable)主要是Windows下的PE(Portable Executable)和Linux的ELF(Executable Linkable Format),他们都是COFF(Common file format)格式的变种。 定义 目标文件就是源代码编译后
阅读全文
posted @ 2018-10-29 11:57 睿阳
阅读(381)
评论(0)
推荐(0)
2018年9月27日
被隐藏的构建过程
摘要: 编译和链接 集成开发环境(IDE)一般将编译和链接的过程一步完成,这个过程叫做构建(Bulid),也有人翻译成生成. 构建的过程: 预处理(Prepressing)→编译(Compilation)→汇编(Assembly)→链接(Linking) 预编译 预编译过程主要处理那些源代码文件中的以#开始
阅读全文
posted @ 2018-09-27 17:14 睿阳
阅读(199)
评论(0)
推荐(0)
2018年9月6日
C/C++之数据类型的大小
摘要: 不同数据类型的大小 数据类型 大小 char 1 int 4 short 2 long 4 bool 1 float 4 double 8 typename* 4 typename[n] n char* = “123…n” string = “123…n” n+1 struct 根据结构体最大的数据
阅读全文
posted @ 2018-09-06 16:45 睿阳
阅读(167)
评论(0)
推荐(0)
上一页
1
···
6
7
8
9
10
11
12
下一页
公告