I“米规划存储以二进制格式作为资源我的数据,将它读入一个int缓冲器和基本上通过其竖直向下到一个本地C ++函数,这可能会它转换为一个结构/类和工作与它没有指针,很明显,只是整型和浮点。

现在的问题是 - 种固定起来,我需要做什么?我想,我需要检查ByteOrder.nativeOrder(),弄清楚,如果是大端或小端,并执行字节交换如果需要的话。

除此之外,浮子想必保证在IEEE 754格式可以预期?是否有任何其他的注意事项,我在这里完全可以俯瞰?

(另 - 因为我使用NDK编译,我知道什么是架构已经是(的ARMv7-A,在我的情况),所以我在技术上跳过端有心计,只是把数据事情是这样的? )

有帮助吗?

解决方案

ARM同时支持大端和小端。这将很可能由操作系统进行设置,以便它可能是值得的事前检查了这一点。

还有填充到字大小在一个结构的问题:

struct st
{
  char a;
  int  b;
};

将具有sizeof 8,而不是预期的5个字节。这是为了让INT将字对齐。一般对齐一切,4个字节,可能使用gcc的packed属性(struct my_packed_struct __attribute__ ((__packed__)) )为好。这将确保该结构的内部是像您期望的。

可替换地使用Android模拟器以生成数据文件为您服务。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top