私がインクルードしているヘッダー ファイル/usr/include/**/asm
(失礼に?) は、単純な C 式を使用して、ベース値からのオフセットを表現します。つまり、次のようになります。
#define __NR_exit (__NR_SYSCALL_BASE+ 1)
もちろん、#include
これを.S
ファイルに入れると、結果のプリプロセッサ生成の asm は次のようになります。
start.S|17| Error: garbage following instruction -- `ldr r7,=$(0+1)'
だから、クレイジーに聞こえるかもしれませんが、C プリプロセッサ (またはアセンブラ) がマクロを constexpr-evaluate して、実際に使用できるようにする必要があると思います+
。これを行うには?
これはインライン asm ではなく、「アウト オブ ライン」.S
ファイルであることに注意してください。