函数

GLibatomic_int_xor

自:2.30

声明 [src]

guint
g_atomic_int_xor (
  volatile guint* atomic,
  guint val
)

说明 [src]

执行 atomicval 值的原子级按位“异或”运算,并将结果存储回 atomic 中。

将此操作视为 { tmp = *atomic; *atomic ^= val; return tmp; } 的原子版本。

此调用充当一个完整的编译器和硬件内存屏障。

虽然 atomic 具有 volatile 限定符,但这是一种历史遗留,传递给它的指针不应为 volatile

自 2.30 起可用

参数

atomic

类型: volatile guint*

指向 #gint 或 #guint 的指针。

该数据由函数调用方所有。
val

类型: guint

要“异或”的值。

返回值

类型: guint

操作前 atomic 的值,无符号。