编程语言
文章平均质量分 58
老和山乔治
宁静致远
展开
-
移位操作行为
arithmetic shift left <-- 移位空缺填0arithmetic shift right <-- 移位空缺填原MSB,即符号位。原创 2023-09-16 15:07:09 · 127 阅读 · 0 评论 -
ELF 文件格式及示例分析
ELF (Executable and Linkable Format)Linux 上源码编译后的 .o 文件即目标文件,目标文件结构上和可执行文件格式很相似,通过链接器链接相应的库后得到可执行文件 .elf。为了描述方便,文中不区分二者的存储格式。elf 存储格式涵盖了程序的编译、链接、装载和执行过程。了解目标文件的对认识操作系统,特别是进程加载方面大有裨益。目标文件包含什么东西呢?显而易见,应该包含代码和数据,另外为了支持链接,其中还有符号表等,为了支持调试,还会有调试信息,等等。Executab原创 2021-02-10 13:19:16 · 1090 阅读 · 2 评论 -
linker & 链接脚本
linker链接器主要有两个作用,一是将若干输入文件(.o文件)根据一定规则合并为一个输出文件(例如ELF格式的可执行文件);一是将符号与地址绑定(当然加载器也要完成这一部分工作)。关于链接器的工作机制可以参考《Linker and Loader》一书,本文只关心它的第一个功能,即如何根据一定规则将一个或多个输入文件合并成输出文件。这里的“一定规则”是通过链接脚本描述的。链接器有一个编译...原创 2020-01-23 15:11:58 · 2005 阅读 · 0 评论