java - C++ 到 java 数组的转换

标签 java c++ arrays java-native-interface

我如何将 short* 从 C++ 转换为 java 的 jshortArray?

我正在网上寻找一些文档,但并不容易找到。

最佳答案

jshortArray convertShortArrayToJNI(JNIEnv* env, short* arr, size_t count) {
  jshortArray retval = env->NewShortArray(count);
  env->SetShortArrayRegion(retval,0,count,arr);
  return retval;
}

您不需要释放retval。它是一个“本地引用”,这意味着只要您从最近的调用中通过 JNI 返回,它就会被 JVM 释放。当然,除非您是从 native 线程调用它...

关于java - C++ 到 java 数组的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13651771/

相关文章:

Java 项目和 git 存储库

java - 如何制作安装文件

c++ - 在类中初始化时 C++ 中奇怪且不正确的数组大小行为

c# - string[].Contains 找不到匹配项,即使文本在数组中也是如此

javascript - 删除分号并分隔数组列表中的输出

java - 使用 DOM 和 java 将节点值添加到 xhtml

java - mongoDB:数组中不存在的文档的 $inc

c++ - 结构体可以与哈希值或字典进行比较吗

c++ - 我可以使用自定义删除器简洁地声明 std::unique_ptr 吗?

mysql - Rails 4.0 将数组和字符串保存到单列