当前位置: 技术问答>linux和unix
关于移植----基本数据类型问题
来源: 互联网 发布时间:2016-03-02
本文导语: unix系统中如何保证 基本数据类型的可移植性? uint8_t, uint16_t, 和 uint32_t 一定是 8位,16位和32位的吗? 如果不是 如何用typedef保证基本数据类型的可移植性? 3Q | 为了保证可移植性, 最好...
unix系统中如何保证 基本数据类型的可移植性?
uint8_t, uint16_t, 和 uint32_t 一定是 8位,16位和32位的吗?
如果不是 如何用typedef保证基本数据类型的可移植性? 3Q
uint8_t, uint16_t, 和 uint32_t 一定是 8位,16位和32位的吗?
如果不是 如何用typedef保证基本数据类型的可移植性? 3Q
|
为了保证可移植性, 最好自己定义类型别名.
移植到相应的系统上时, 只要重新定义这些自己定义的类型就可以了,
我之前把DOS上16位的程序移植到linux32位上
移植到相应的系统上时, 只要重新定义这些自己定义的类型就可以了,
我之前把DOS上16位的程序移植到linux32位上
|
还是和系统相关的
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;
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就可以了
---------是的, 如果换了平台 修改 typedef 或 #define就可以了
|
如果是可以跨平台onfig的话
那么不用担心的
因为会根据你选的BSP编译出
那么不用担心的
因为会根据你选的BSP编译出
|
uint8_t, uint16_t, 和 uint32_t 一定是 8位,16位和32位的吗?
========
是. 当然是
========
是. 当然是
|
你可以自己编写一个c程序,用sizeof函数取得你想知道的数据类型在系统中的位数。