最近兴趣所致,关注了一下Qt内部实现的跨平台机制和代码,发现一个疑问:
qglobal.h里这样定义:
typedef int qint32; /* 32 bit signed */
Qt帮助文档里这样描述:
Typedef for signed int.This type is guaranteed to be 32-bit on all platforms supported by Qt.
但是我的
问题是,不是说int类型在不同字长的机器里sizeof的长度会不一样吗,不能保证一直是32位的,所以好多
嵌入式软件里为了
移植方便,才定义了好多类型别名如:uint32,int32等等。但是Qt这样定义,他怎么保证,难道这个长度跟CPU或者操作
系统什么的都没关系,只跟
编译器有关系,只要用Qt的编译器编译,int的长度就一直是32位的?
请各位大拿们在此赐教,谢谢啦。