C++ 编译器数据类型差异

在不同的机器上使用不同的C++编译器,不同数据类型的大小存在差异,经过测试得到如下数据:

Type AIX32 AIX64 SUN32 SUN64 WIN32 WIN64
char 1 1 1 1 1 1
short 2 2 2 2 2 2
int 4 4 4 4 4 4
long 4 8 4 8 4 4
float 4 4 4 4 4 4
wchar_t 2 4 4 4 2 2
double 8 8 8 8 8 8
long long 8 8 8 8 8 8
long double 8 8 16 16 8 8

可见,常见的数据类型 char , short , int , float , double 在不同编译器上是一致的;

综合来看,SUN的编译器实际支持的数据类型更多,差异化最少,例如无论 32 还是 64 位,都是采用的 UTF-32;

编译器:AIX 采用 xlr_C,Sun 采用 CC ,Windows 采用 cl.exe

posted @ 2011-03-10 13:32  王志科  阅读(902)  评论(0编辑  收藏  举报