64 位编译条件下,Window Linux 基础类型的长度大小不同,有如下函数进行测试:
void typeLengthTest()
{
printf("int: %d\n", sizeof(int));
printf("short: %d\n", sizeof(short));
printf("char: %d\n", sizeof(char));
printf("unsigned: %d\n", sizeof(unsigned));
printf("long: %d\n", sizeof(long));
printf("long long: %d\n", sizeof(long long));
printf("float: %d\n", sizeof(float));
printf("double: %d\n", sizeof(double));
printf("long double: %d\n", sizeof(long double));
}
Windows 输出结果
Linux 下面输出结果
总结如下:
有两个基础的数据类型长度不同,为long 和 long double, 特别是在程序跨平台是需要留意。