首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

关于移植-基本数据类型有关问题

2012-03-03 
关于移植----基本数据类型问题unix系统中如何保证 基本数据类型的可移植性?uint8_t, uint16_t, 和 uint32_

关于移植----基本数据类型问题
unix系统中如何保证 基本数据类型的可移植性?

uint8_t, uint16_t, 和 uint32_t 一定是 8位,16位和32位的吗?
如果不是 如何用typedef保证基本数据类型的可移植性? 3Q

[解决办法]
还是和系统相关的

uint8_t, uint16_t, 和 uint32_t

这些也是通过typedef定义的

比如在32位系统或者64位系统上

typedef uint8_t unsigned char;
typedef uint16_6 unsigned short int;
typefef uint32_t unsigned int;
[解决办法]
如果是32位的处理器,上述三个类型能保证是8位,16位和32位的吗?
---------是的, 如果换了平台 修改 typedef 或 #define就可以了
[解决办法]
如果是可以跨平台onfig的话
那么不用担心的
因为会根据你选的BSP编译出

[解决办法]
uint8_t, uint16_t, 和 uint32_t 一定是 8位,16位和32位的吗?
========
是. 当然是
[解决办法]
你可以自己编写一个c程序,用sizeof函数取得你想知道的数据类型在系统中的位数。
[解决办法]
为了保证可移植性, 最好自己定义类型别名.
移植到相应的系统上时, 只要重新定义这些自己定义的类型就可以了, 
我之前把DOS上16位的程序移植到linux32位上

热点排行