我可以将原始基元类型转换为JNI基元类型而不必担心字节序吗?

时间:2015-06-09 08:40:34

标签: c java-native-interface

让我说我有

const uint16_t n = 0x0001;

然后我可以像这样投射吗?

const jint j = (jint) n;

不用担心原生平台的字节顺序?

补编

我有一个函数将值更改为char数组。

char * value_to_array(void * value, const size_t size) {
  char * array = malloc(size);
  if (array != NULL) {
    memcpy(array, value, size);
  }
  return array;
}

现在我应该关心字节序,对吧?上面这个简单演员怎么样?

1 个答案:

答案 0 :(得分:2)

  

然后我可以这样投射吗?

是。 JNI primitive types are machine-dependent

您的第二个示例保留了您未指定的源中存在的任何字节序。