ZHCU947E June 2015 – January 2023
未初始化的段(例如 .bss)不会被加载,因此它们唯一重要的地址是运行地址。链接器只分配一次未初始化的段:如果您同时指定运行地址和加载地址,链接器会向您发出警告并忽略加载地址。另一方面,如果只指定一个地址,无论您称其为加载地址还是运行地址,链接器都会将其视为运行地址。
以下示例指定了未初始化的段的加载和运行地址:
.bss: load = 0x1000, run = FAST_MEM
链接器会发出警告,忽略加载,并在 FAST_MEM 中分配空间。以下所有示例都具有相同的效果。.bss 段将分配到 FAST_MEM 中。
.dbss: load = FAST_MEM
.bss: run = FAST_MEM
.bss: > FAST_MEM