.macro str_l, src, sym, tmp #ifndef MODULE adrp \tmp, \sym str \src, [\tmp, :lo12:\sym] #else adr_l \tmp, \sym str \src, [\tmp] #endif .endm
以上是
arch/arm64/include/asm/assembler.h
\
是的,这就是宏在 GNU 汇编器中的工作原理,如其手册中所述。 clang 在这些方面通常与 GNU
as
反斜杠表示宏参数名称的使用应替换为其值。