读书人

2012-四-26

发布时间: 2013-11-08 17:52:14 作者: rapoo

2012-4-26
32位与64位的数据类型长度是不一样的,而且windows和linux也有些许区别,下面把64位下的数据长度列表如下(无符号unsigned和有符号的长度一样):



linux64 windows64 linux32 windows32

char 8 8 8 8

short 16 16 16 16

int 32 32 32 32

long 64 32 32 32

long long 64 64 64 64

size_t 64 64 32 32





需要注意的是long类型在win64下是32位,千万别搞错了。size_t类型随着CPU位数变化,也要注意。

总结:没事不要用long。size_t是系统类型,使用时心里要留意,不能认为它和unsigned int等同,否则当你想要以64位编译时warning就铺天盖地了。

转自http://blog.csdn.net/avagrant158/article/details/5992192

读书人网 >编程

热点推荐