ZHCU947E June 2015 – January 2023
链接器表达式适用以下规则:
链接器支持#GUID-4176B8B7-423C-48BE-96DE-3C9B268E6A3C/STDZ0753818 中按优先顺序列出的 C 语言运算符。同一组中的运算符具有相同的优先级。除了#GUID-4176B8B7-423C-48BE-96DE-3C9B268E6A3C/STDZ0753818 中列出的运算符之外,链接器还有一个 align 运算符,该运算符允许符号在输出段内的 n 字节边界上对齐(n 是 2 的幂)。例如,以下表达式使当前段内的 SPC 在下一个 16 字节边界上对齐。align 运算符是当前 SPC 的函数,因此它只能在与 . 相同的上下文中使用,也就是说,在 SECTIONS 指令中使用。
.= align(16);
组 1(最高优先级) | 组 6 | ||||
---|---|---|---|---|---|
! ~ - |
逻辑非 按位非 否定 |
且 | 按位与 | ||
组 2 | 组 7 | ||||
* / % |
乘法 除法 模数 |
| | 按位或 | ||
组 3 | 组 8 | ||||
+ - |
加法 减法 |
&& | 逻辑与 | ||
组 4 | 组 9 | ||||
>> << |
算术右移 算术左移 |
|| | 逻辑或 | ||
组 5 | 组 10(最低优先级) | ||||
== ! = > < < = > = |
等于 不等于 大于 小于 小于等于 大于等于 |
= + = - = * = / = |
赋值 A + = B A - = B A * = B A / = B |
等效于 等效于 等效于 等效于 |
A = A + B A = A - B A = A * B A = A / B |