android - 尝试访问 JNI 中的数组值时的 SIGABRT
问题描述
我目前正在尝试将 ac 库集成到我的 android 项目中。extern 函数接受一个Array<Double>
例如
val doubleArray= arrayOf(0.0)
MyClass().myFunction(doubleArray)
在应用程序的本机部分,我试图像这样访问它:
Java_com_mypackage_MyClass_myFunction(JNIEnv *env, jobject thiz,jdoubleArray myArray) {
jdouble *body_ = (*env)->GetDoubleArrayElements(env, myArray, 0);
}
这就是文档告诉我访问数组值的方式。但是当我这样做时,我得到了一个 SIGABRT。
我在这里想念什么?当你能指出我的方向时将不胜感激:)
解决方案
AnArray<Double>
是java.lang.Double[]
JVM 术语中的 a,即对象数组。
你的意思是创建一个DoubleArray
,这是一个double[]
(原语)。
推荐阅读
- docker - 如何使用 CMD 在 docker 容器中运行 terraform apply --auto-approve
- wordpress - Google Drive Gallery 插件问题 - WordPress
- react-native - Expo React Native 进入视图时执行函数
- machine-learning - yolov4 的暗网掩码和锚点值
- ios - 与 AppDelegate 和 SceneDelegate 的深层链接
- javafx - 如何切换 JavaFX PasswordField 文本可见性
- c++ - 在 C++ 中创建具有变量名的文件
- firebase - GA 推荐流量中的 Firebase 动态 URL?
- c++ - C++ 将 XML 节点转换为对象
- python - 忽略 DataFrame 上多个过滤器中的无效过滤器