下面是一个**.ld 的脚本文件
. = 0x80000000;
.text.boot : { *(.text.boot) }
.text : { *(.text) }
.rodata : { *(.rodata) }
.data : { *(.data) }
. = ALIGN(0x8);
bss_begin = .;
.bss : { *(.bss*) }
bss_end = .;
上篇文章介绍过各种段 :. = 0x80000000;
这行代码将当前地址(location counter)设置为 0x80000000。这意味着接下来的段(sections)将从这个地址开始布局。
.text.boot : { *(.text.boot) }
.text : { *(.text) }
.text.boot 段:包含所有输入文件中 .text.boot 段的内容。
.text 段:包含所有输入文件中 .text 段的内容。
其他的类似
. = ALIGN(0x8);
这行代码将当前地址对齐到 8 字节边界。对齐是为了满足某些架构或数据类型的对齐要求。bss_begin = .;
这行代码定义了一个符号 bss_begin,它表示当前地址,即 .bss 段的起始地址。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。