GCC 原子内存访问内置函数(IBM 扩展)

本节提供了有关原子内存访问内置函数的参考信息,这些函数的行为对应于 GNU Compiler Collection (GCC) 提供的行为。 在具有多个线程的程序中,您可以使用这些函数在一个线程中以原子方式安全地修改数据,而不受其他线程的干扰。

这些内置函数以原子方式处理数据,而无论主机中安装了多少处理器。

在每个函数的原型中,参数类型 TUV 可以是指针或整型。 UV 也可以是实数浮点类型,但只有在 T 为整型时。 下表列出了这些内置函数支持的整型和浮点类型。

表 1. 受支持的整数数据类型
signed char unsigned char
short int unsigned short int
int unsigned int
long int unsigned long int
long long int 1 unsigned long long int 1
仅限 C + + bool 仅限 C _Bool

1 限制: 此类型仅在 64 位平台上受支持。

表 2。 受支持的浮点数据类型
float double
long double  

在每个函数的原型中,省略号 (...) 表示可选的参数列表。 XL C/C++ 将忽略这些可选参数并保护所有全局可访问的变量。

GCC 原子内存访问内置函数分为以下类别。