【发布时间】:2011-06-18 10:28:56
【问题描述】:
我在 JNI 地狱中,类型转换超出了 wazoo:
这是事情的一般流程:
- 读取一个文件,它返回给我一个 一维浮点数组。
- 转换这些 floats[] 到 shorts[] (*4095, 我想要一个 12位数字)
- 将这些短裤[]传递给 C,将它们复制到一个 无符号短数组
- 翻转位 制作大端Java位 用于图像处理的小端序
- 将这些新数字转换为 双[] (/4095)
- 将 double[] 传递给 图像处理功能
- 将处理后的 double[] 转换回 short[] (*4095)
- 简而言之[]将位翻转回 大端
- 将short[] 转换回float (/4095),传回java
- 将 float[] 传递给 int 将位排列为的转换 ARGB_8888 格式
必须有更好的方法来做到这一点。
除了所有这些废话之外,它还不起作用。我正在恢复所有噪音,我觉得这可能是 C 中的无符号短数组(用于位切换)和 C 中的有符号短数组的结果。这是一个主要问题。
所以我想我的一般问题是,我该如何改进这一点,以便我不处理类型之间转换的所有这些问题,包括有符号/无符号问题。
您可以提出任何建议,我们将不胜感激..
【问题讨论】:
标签: java android c java-native-interface type-conversion