函数
GLibatomic_pointer_xor
自:2.30 起
声明 [src]
guintptr
g_atomic_pointer_xor (
void* atomic,
gsize val
)
说明 [src]
对此操作的理解方式是原子版本的 { tmp = *atomic; *atomic ^= val; return tmp; }
。
执行原子位“异或”的 atomic
和 val
,将结果存储回 atomic
中。
这一调用作为完整的编译器和硬件内存屏障。
虽然 atomic
有 volatile
限定符,但这可是历史遗留产物,传递给它的指针不应该是 volatile
。
在 GLib 2.80 中,返回值类型从 #gsize 更改为了 #guintptr 以增加对使用 128 位指针的平台的支持。这不会影响现有代码。
自 2.30 起提供