2011-12-31 2 views
1

У меня есть метод Java, который принимает параметр String as и возвращает двойной массив. Я вызываю его с помощью CallObjectMethod из собственного кода. Как получить этот двойной массив, возвращаемый методом Java, и как его преобразовать в обычный (C/C++) двойной массив.Как получить двойной массив с вызовом функции от JNI?

ответ

1

JNI имеет тип jdoubleArray, который возвращается, когда вы вызываете этот метод. Так что-то вроде этого:

jdoubleArray retVal; 

retVal = env->CallObjectMethod(...); 
jdouble *element = env->GetIntArrayElements(retVal, 0); 

И тогда вы можете непосредственно использовать элементы из element

+0

спасибо, это работает. – johnkrishna

+0

Могу ли я узнать, что будет по умолчанию значением retVal в вышеуказанной декларации? А также значением по умолчанию элемента? Спасибо заранее. – johnkrishna

+1

Это будет мусор, если вы его не инициализируете. –

Смежные вопросы