大小-变体变量类型

大小变体变量类型同时具有 32 位方式和 64 位方式。

大小变体数据类型列示如下:

类型 32 位大小 64 位大小
长整型 4 8
指针类型 4 8

在上表中,指针类型指的是 char *int *struct foo *unsigned long * 等类型。

以下语义规则适用于使用以上任何一种类型定义的变量,即“long”和“pointer”。 不管变量是结构的成员还是并集的成员,也不管是否声明为单个变量,这些规则都适用:

自动类
变量方式将取决于被探测进程的方式(32 或 64)。
线程局部类
变量方式将取决于被探测进程的方式(32 或 64)。
全局类
此变量总是视为处于 64 位方式,而不管被探测进程的方式如何。 这样就可允许 32 位和 64 位进程安全地使用该变量,而不会丢失任何数据。
内核全局类
由于AIX® 6.1及更高版本唯一支持的内核是 64 位内核,因此作为长或指针的内核变量始终是 64 位模式。
入口类
如果为函数的任何参数在函数原型中定义了长整型或指针类型,那么相应入口类变量(__arg1__arg32)的方式将取决于被探测进程的方式(32 或 64)。
出口类
如果在函数原型中将长整型或指针类型定义为函数返回值的类型,那么出口类变量 (__rv) 的方式将取决于被探测进程的方式(32 或 64)。
内置类
这些变量通常具有大小不变的类型,但 __r3__r10 内置类例外,这些内置类被定义为具有无符号的长整型类型,因此,它们对于 32 位进程是 32 位长整型,而对于 64 位进程是 64 位长整型。

@@BEGIN@@END 调查总是以 64 位方式发出。

Vue中的数据类型

除传统 C-89 数据类型外, Vue 语言还接受三种特殊数据类型。