1
4

1 回答 1

4

The output constraint specifies an x86 register (EAX), which is impossible on an arm cpu. Also, the lock prefix is platform-specific to x86, and the decl and setnz instructions are not supported on arm as well.

This is the output constraint:

    : "=a" (nz)

It is telling gcc to use the register eax to hold the result and then copy it to the variable nz.

于 2012-07-25T16:10:45.927 回答