ZHCUAQ1F july 2015 – april 2023
有关数据类型的一般信息,请参阅节 7.3。表 8-1 列出了各种数据类型的寄存器和内存存储空间:
数据类型 | 寄存器存储 | 内存存储 |
---|---|---|
char | 寄存器的0-7位 | 8 位,与 8 位边界对齐 |
unsigned char | 寄存器的0-7位 | 8 位,与 8 位边界对齐 |
short | 寄存器的0-15位 | 16 位,与 16 位边界对齐 |
unsigned short | 寄存器的0-15位 | 16 位,与 16 位边界对齐 |
int | 整个寄存器 | 32 位,与 32 位边界对齐 |
unsigned int | 整个寄存器 | 32 位,与 32 位边界对齐 |
enum (1) | 整个寄存器或偶数/奇数寄存器对 | 32 位(与 32 位边界对齐)或 64 位(与 64 位边界对齐) |
float | 整个寄存器 | 32 位,与 32 位边界对齐 |
float complex (4) | 偶数/奇数寄存器对 | 64 位,与 32 位边界对齐 |
long | 整个寄存器 | 32 位,与 32 位边界对齐 |
unsigned long | 整个寄存器 | 32 位,与 32 位边界对齐 |
__int40_t | 偶数/奇数寄存器对 | 64 位,与 64 位边界对齐 |
unsigned __int40_t | 偶数/奇数寄存器对 | 64 位,与 64 位边界对齐 |
long long | 偶数/奇数寄存器对 | 64 位,与 64 位边界对齐 |
unsigned long long | 偶数/奇数寄存器对 | 64 位,与 64 位边界对齐 |
double | 偶数/奇数寄存器对 | 64 位,与 64 位边界对齐 |
double complex(仅 C6600)(4) | 四倍字寄存器(5) | 128 位,与 64 位边界对齐 |
long double | 偶数/奇数寄存器对 | 64 位,与 64 位边界对齐 |
long double complex(仅 C6600)(4) | 四倍字寄存器(5) | 128 位,与 64 位边界对齐 |
__x128_t(仅 C6600)(2) | 四倍字寄存器(5) | 128 位,与 64 位边界对齐 |
结构体 | 成员按其各自类型的要求存储。 | 存储器是最大成员类型边界对齐的倍数;成员根据其各自类型的要求进行存储和对齐。 |
数组 | 成员按其各自类型的要求存储。 | 成员按其各自类型的要求存储。(3)结构中的所有数组都根据数组中每个元素的类型对齐。 |
数据成员指针 | 寄存器的0-31位 | 32 位,与 32 位边界对齐 |
成员函数指针 | 组件按其各自类型的要求存储 | 32 位,与 32 位边界对齐 |