日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

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

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

我正在嘗試使用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ù),我正在嘗試這個,但是不起作用

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

}

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

總結(jié)

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

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