ZHCUAV7Z september 1995 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
可通过以下两种方式之一构建输出段:
方法 1 | 作为 SECTIONS 指令定义的结果 |
方法 2 | 通过将同名的输入段组合成一个未在 SECTIONS 指令中定义的输出段 |
如果作为 SECTIONS 指令的结果构成输出段,则段的内容完全由此定义确定。(如需查看如何定义输出段内容的示例,请参阅节 8.5.5。)
如果输出段是通过组合未由 SECTIONS 指令指定的输入段构成的,则链接器会将所有同名的此类输入段组合到该名称的输出段中。例如,假设文件 f1.c.obj 和 f2.c.obj 都包含名为 Vectors 的指定段,并且 SECTIONS 指令没有为它们定义输出段。链接器会将输入文件中的两个 Vectors 段组合成名为 Vectors 的单个输出段,将这个输出段分配到存储器中,并将其包含在输出文件中。
默认情况下,链接器在创建未在 SECTIONS 指令中定义的输出段时不显示消息。使用 --warn_sections 链接器选项(请参阅节 8.4.35)可以使链接器在创建新的输出段时显示消息。
链接器确定所有输出段的组成方式后,必须将它们分配到配置的存储器中。MEMORY 指令可以指定配置存储器的哪些部分。如果没有 MEMORY 指令,链接器将使用默认配置,如ARM 器件的默认分配中所示。(有关配置存储器的更多信息,请参阅节 8.5.4。)