编译器从一个 .c 的源文件中编译出一个 .obj 的文件,这个文件中包括符号表信息;
链接器把多个 .obj 文件链接成一个文件,并对各个obj文件中的地址信息进行重定位;
加载器把链接器生成的文件加载入内存;
MMU: 说白了就是“分页机制”的硬件实现
8086为什么要分段:
因为地址线有20根,而内部寄存器确只有16位,16位的寄存器不能表示20位的地址,所以就采用了分段制(具体查看王爽汇编)
MMU: 说白了就是“分页机制”的硬件实现
a.out --> COFF --> ELF(readelf,objdump工具可查看其格式)
为什么要学习ELF文件的格式,有什么好处?
Linker和Loader具体做了什么? 如何进行段映射的?
以上两个主题等以后慢慢学习吧!