函数
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 起提供