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
考虑在 SECTIONS 指令内使用输出段规范:
outsect:
{
s1.c.obj(.text)
end_of_s1 = .;
start_of_s2 = .;
s2.c.obj(.text)
end_of_s2 = .;
}
这可以通过使用 START 和 END 运算符重写为以下格式:
outsect:
{
s1.c.obj(.text) { END(end_of_s1) }
s2.c.obj(.text) { START(start_of_s2), END(end_of_s2) }
}
end_of_s1 和 end_of_s2 的值将会相同,就像在原始示例中使用了点运算符一样,但 start_of_s2 将在两个 .text 段之间需要添加的任何必需填充之后进行定义。请记住,点运算符会导致 start_of_s2 在两个输入段之间插入的任何必需填充之前进行定义。
将这些运算符与输入段相关联的语法需要使用大括号 { } 将运算符列表括起来。列表中的运算符应用于紧接在列表之前出现的输入项。