Sun Studio 12:C 用户指南

F.1 存储分配

下表显示了数据类型及其表示方法。


注 –

栈中分配的存储空间(带有内部、自动或链接的标识符)应限于 2G 字节或更少。


表 F–1 数据类型的存储分配

数据类型 

内部表示 

char 元素

单个 8 位字节,在单字节边界上对齐。 

short 整数

半字(二字节或 16 位),在双字节边界上对齐 

int

32 位(四字节或一个字),在四字节边界上对齐 

long

在 v8 和 x86 上为 32 位(四字节或一个字),在四字节边界上对齐 

在 v9 上为 64 位(八字节或两个字),在八字节边界上对齐 

pointer

在 v8 和 x86 上为 32 位(四字节或一个字),在四字节边界上对齐 

在 v9 上为 64 位(八字节或两个字),在八字节边界上对齐 

long long [如果设置 -xc99=nonelong long-Xc 模式下不可用。]

(SPARC) 64 位(八字节或两个字),在八字节边界上对齐 

(x86) 64 位(八字节或两个字),在四字节边界上对齐

float

32 位(四字节或一个字),在四字节边界上对齐。一个 float 元素包含一个 sign 位、一个 8 位指数和一个 23 位尾数。

double

64 位(八字节或两个字),在八字节边界上对齐 (SPARC) 或在四字节边界上对齐 (x86)。一个 double 元素包含一个 sign 位、一个 11 位指数和一个 52 位尾数。

long double

v8 (SPARC) 128 位(16 字节或四个字),在八字节边界上对齐。一个 long double 元素包含一个 sign 位、一个 15 位指数和一个 112 位尾数。

v9 (SPARC) 128 位(16 字节或四个字),在 16 字节边界上对齐。一个 long double 元素包含一个 sign 位、一个 15 位指数和一个 112 位尾数。

(x86) 96 位(12 字节或三个字),在四字节边界上对齐。一个 long double 元素包含一个 sign 位、一个 16 位指数和一个 64 位尾数。16 位未使用。