很多细节我已经记不清楚了,你看过赵炯的那边书吗?镜像文件一定是二进制的,里面没有所谓头文件,一定是可执行的机器码指令和一些文本,如果感兴趣可以专门了解一下镜像文件的构成,或者自己用二进制工具(像Uedit查看一下)。从setup到head.s的跳转赵炯的书上应该有,因为二进制的镜像文件里面没有head.s文件了,也谈不上跳转到它的头部,这部分已经记不清楚了,很可能是个指针的跳转,像call指令或者jmp指令。
我的理解是:
1. 所生成的二进制lib文件里面的地址都是相对地址。
2. 连接生成的可执行文件里面的跳转就是绝对地址了。
3. 而镜像文件是针对特定介质的可执行文件,和存储方式和存储地址联系起来。
上面也是我的理解,不知道对不对。但是赵炯的书和他的讨论组里面这些问题应该都是他们考虑过的。 |