手机操盘手免费体验火热进行
20万人已抢先免费使用
624MHz CPU极速智能HKC G920震憾登场
夏新智能手机专区
主流智能手机音乐播放软件横向评测 最新手机电影
发新话题
打印

[编程] 关于Big-Endian and Little-Endian问题

关于Big-Endian and Little-Endian问题

由于普通PC上编译出来的代码是Little-Endian,
而Palm OS上需要Big-Endian,两者必须自己手动转换吗?

举个例子,
由于方便,Palm数据文件在PC上生成,也就是有一个PC上数据生成器,
该文件可以定义一个数据结构,
比如,
struct test{
UInt16 d1,
UInt16 d2
}
然后把这个结构保存到数据文件中生成PalmOS 程序所需要的数据文件。

现在Palm OS 程序读取该文件,然后根据地址addr, 做(struct test *)addr
但是,此时取出来的d1,d2,并不是PC上生成的数据(高低字节相反)

PC编译器:Visual Studio
Palm编译器:CW9

请问怎么处理?
谢谢!
要手工转,其实就是把高低字节内容调换就行了

d1 = ((d1 & 0x0f) << 8) | ((d1 >> 8) & 0x0f);
LZ不错~,顶你~~~
发新话题