如何在MacOSX上的g ++中使用gcc builtin __sync_bool_compare_and_swap?

ano*_*non 0 c++ assembly gcc built-in

我有一些代码使用:

__sync_bool_compare_and_swap
Run Code Online (Sandbox Code Playgroud)

它在Linux上编译得很好.

但是当我尝试在MacOSX上用g ++编译时,我得到:

error: ‘__sync_bool_compare_and_swap’ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

我该如何解决?(这是Mac OSX 10.5.8,所以它的英特尔......应该有这个指令).

谢谢!

Ann*_*nne 6

尝试添加命令行选项

-march=i686
Run Code Online (Sandbox Code Playgroud)

到链接器.


ton*_*ony 5

如果找不到,可以在Mac上使用OSCompareAndSwap().

但是拥有跨平台代码会很好,不是吗.