摘要:
第一章 第二章 第三章 第四章 第五章 第六章 第七章 链接 "可重定位目标文件" "符号和符号表" "符号解析" 第八章 第九章 虚拟存储器 "虚拟存储器" "页表、页命中、缺页" "地址翻译" 第十章 第十一章 第十二章 逐步添加。。 阅读全文
摘要:
符号解析 链接器解析符号引用的方法是将每个引用与它输入的可重定位目标文件的符号表中的一个确定的符号定义联系起来。编译器只允许每个模块中每个 本地符号 只有一个定义。 对于全局符号,当编译器遇到一个不是在当前模块定义的符号时,它会假设该符号是在其他某个模块中定义的,生成一个链接器符号表条目,并把它交给 阅读全文
摘要:
符号和符号表 每个可重定位目标模块m都有一个符号表,它包含m所定义和引用的符号的信息。 有三种不同的符号: 由m定义并能被其他模块引用的全局符号。对应 非静态的C函数 以及 不带C static属性的全局变量 。 由其他模块定义,并被m引用的全局符号。这些符号称为外部符号,对应定义在其他模块中的C函 阅读全文
摘要:
可重定位目标文件 ELF文件 ELF头以一个16字节的序列开始,这个序列描述了生成该文件的系统的 字的大小 和 字节顺序 。ELF头剩下的部分包含帮助链接器语法分析和解释目标文件的信息。其中包括ELF头的大小、目标文件类型、机器类型、节头部表的文件偏移,以及节头部表中的条目大小和数量。 夹在ELF头 阅读全文
摘要:
俄罗斯方块有多种旋转规则,我这里采用的是SRS。如果要改变旋转规则的话也很方便。 SRS: 内容后续补充。。 代码:https://github.com/CknightX/sdl_Tetris 素材来自网络 阅读全文
摘要:
最近有一个工程编译老是出现这个问题,网上的解决方案说是工程目录下有同名的源文件,所以编译出了同名的obj。然而我检查了一下并没有。经尝试,把所有文件从项目中移除再重新添加进来就行了。。应该是因为我反复增删文件把工程的编译配置搞乱了。 阅读全文