函数

GLibatomic_pointer_add

since: 2.30

声明 [src]

gintptr
g_atomic_pointer_add (
  void* atomic,
  gssize val
)

描述 [src]

val 递增到 atomic 的值。

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

此调用作为完整编译器和硬件内存屏障。

虽然 atomicvolatile 限定符,但这是历史遗留问题,传递给它的指针不应为 volatile

在 GLib 2.80 中,返回类型从 #gssize 更改为 #gintptr,以添加对具有 128 位指针的平台的支持。这不应影响现有代码。

自 2.30 起可用

参数

atomic

类型: void*

指向 #gpointer 大小值的指针。

数据归函数调用者所有。
val

类型: gssize

要添加的值。

返回值

类型: gintptr

叠加之前的 atomic 值,带符号。