是否存在通用的方法:根据C结构定义改变数据的字节顺序?
在嵌入式环境中,有些CPU核使用big-endian。它们产生的数据文件是big-endian的。
如果要在使用intel CPU的PC环境正确理解这些文件,就需要将big-endian转换为little-endian。
产生数据文件的程序在PC环境也可以运行,但在PC上产生的数据文件却是little-endian的。
如果要在嵌入式环境直接使用PC上产生的数据文件,就需要将little-endian转换为big-endian。
嵌入式环境的代码是用C写的,数据文件结构可以用一个庞大的C结构描述。
是否存在通用的方法,在PC环境,根据C结构定义改变数据的字节顺序?
因为在PC环境,所以在开发工具的选择上比较自由,任何C/C++的IDE,MC++,C++/CLI,perl都可以,但这种开发工具应该能理解C的头文件,
解决这个问题的最直接的方法就是对数据结构的每个元素编写改变字节顺序的代码。但当结构很庞大时,这种工作就是很繁琐、无聊的。我想在计算技术这么发达的时代,应该有自动处理的方法。
不知大家有什么好的想法?