如何在 JNIWrapper 中将 C++ Array<float,size> 转换为 jfloatArray?
Posted
技术标签:
【中文标题】如何在 JNIWrapper 中将 C++ Array<float,size> 转换为 jfloatArray?【英文标题】:How to convert C++ Array<float,size> to jfloatArray in JNIWrapper? 【发布时间】:2019-10-18 14:21:15 【问题描述】:我想将我的 C++ array 输出映射到 jniFloatArray。
尝试遵循此解决方案:
“Convert float* to jfloatArray using JNI”
但我无法将 float* 指向数组对象。
假设我在 C++ 数组输出对象中的输出是:
输出 = 1.0f ,2.0f ,3.0f;
我真正想要的是在 JniWrapper 中将此 输出(数组) 转换或映射到 jfloatArray。
【问题讨论】:
***.com/questions/8541568/… “我无法将 float* 指向数组对象”是什么意思? @Michael 比如说,arraystd:array
中数据的指针,使用output.data()
【参考方案1】:
@Michael 解决了这个问题。因此,通过使用output.data()
并将指向它的浮点指针设置为:
float *ptr = output.data();
解决了这个问题。
【讨论】:
以上是关于如何在 JNIWrapper 中将 C++ Array<float,size> 转换为 jfloatArray?的主要内容,如果未能解决你的问题,请参考以下文章