一、什么是链接脚本

链接器脚本

二、wind_x86.ld的作用

将程序入口设置为内存的0x7C00处。

三、脚本中的地址是什么地址

这里写图片描述

四、为什么地址要选在0x7C00

内存的某些部分固定用来做固定的用途,随意选择一个地方开始容易引起冲突,于是人们约定程序入口都从0x7C00开始。 BISO把第一个扇区load起来之后会自动跳转到0x7C00处。

五、单句分析

. = 0x7C00

跳过前面的地址,从0x7C00处开始有内容

.text:

这里的.text段是指.elf中的段。
后面{}中的内容用于生成.elf文件中的.text段。
.elf中可以有各种段,其中.text是代码码的意思,详情可参考“ELF目标文件”

*(.text)

这里的.text段是指源代码中的段。
源代码中.text段中的内容都用于生成.elf中的.text段

六、完整源代码

1 SECTIONS  
2 {  
3     . = 0x7c00;  
4     .text :  
5     {  
6         *(.text) /*program will be loeaded to 0x7c00*/  
7     } = 0  
8 }

results matching ""

    No results matching ""