次と同等のアトミック操作コードが必要です。
__asm__ __volatile__ (
" lock;\n"
" addl %1, %0; \n"
" movl %0, %%eax"
: "=m"(a), "=a" (c)
: "ir"(b)
);
(Linux では、2 つの変数 a と b を追加し、出力を a と c の両方に保存します)
Solaris(Sparcアーキテクチャ)では上記と同等のものが必要です。私を助けてくれる人はいますか?