日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

c 获得java数据_JNI:如何将一组数据从c转换为Java

發(fā)布時(shí)間:2024/9/19 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c 获得java数据_JNI:如何将一组数据从c转换为Java 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我正在嘗試使用JNI將一些數(shù)據(jù)從c發(fā)送到j(luò)ava .

在c我有:

Array[0]:

string name = "myName"

int iterations = 16

float value = 15

... etc

所以我想使用JNI返回Java上的所有數(shù)據(jù),我正在嘗試這個(gè),但是不起作用

JNIEXPORT jobjectArray JNICALL Java_com_testing_data_MainActivity_getDATA(JNIEnv *env, jobject obj)

{

// 1o Create a temp object

jobject dataClass

{

jstring name;

jint iterations;

jfloat value;

};

jobject tempObject = env->NewObject();

// Get data in c++ format int temp object type

std::vector data = getDataClass(); // First error, must be a c++ class, how could i get it?

// How much memory i need?

int dataSize = data.size();

// Reserve memory in java format

jint tempValues[dataSize];

jobjectArray tempArray = env->NewObjectArray(dataSize,dataClass,0); // 2o Error, it doesn 't create the class

// Temporal store data in jarray

for (int i = 0; i < dataSize ; i++)

{

tempArray[i].name = data[i].name;

tempArray[i].iterations = data[i].iterations;

tempArray[i].value = data[i].value;

}

return tempArray; // return temp array

}

這個(gè)步驟是否正確返回帶有數(shù)據(jù)的結(jié)構(gòu)/對(duì)象?如何修復(fù)錯(cuò)誤?

總結(jié)

以上是生活随笔為你收集整理的c 获得java数据_JNI:如何将一组数据从c转换为Java的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。