为什么arm汇编宏中参数前有'\'?

问题描述 投票:0回答:1
    .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
中的部分代码。所有参数前都有
\
。它们只是用来显示名称是参数吗?

assembly macros arm
1个回答
0
投票

是的,这就是宏在 GNU 汇编器中的工作原理,如其手册中所述。 clang 在这些方面通常与 GNU

as
兼容。

反斜杠表示宏参数名称的使用应替换为其值。

© www.soinside.com 2019 - 2024. All rights reserved.