ZHCUAQ1F july 2015 – april 2023
可以在链接器命令文件中使用 unordered() 运算符。此运算符的作用是放宽放置在输出段规范上的约束,其中该规范明确地说明了输出段的内容。
请考虑输出段规格示例:
SECTIONS
{
.text:
{
file.obj(.text:func_a)
file.obj(.text:func_b)
file.obj(.text:func_c)
file.obj(.text:func_d)
file.obj(.text:func_e)
file.obj(.text:func_f)
file.obj(.text:func_g)
file.obj(.text:func_h)
*(.text)
} > PMEM
...
}
在此 SECTIONS 指令中,.text 的规范明确地说明了函数在输出段中的布局顺序。因此,默认情况下,链接器将完全按照规定的顺序对 func_a 到 func_h 进行布局,而不管任何其他放置优先级标准(例如由 --preferred_order 选项枚举的首选函数顺序列表)。
unordered() 运算符可用于放宽对“.text”输出段中函数放置的约束,以便可以由其他放置优先级标准决定放置。
unordered() 运算符可以应用于输出段,如Example4-2所示。