JNI를 사용하여 jobjectArray
을 C에서 Java로 전송하고 싶습니다.
현재, 나는 다음과 같은 오류 얻을 :C에서 jobject 생성이 작동하지 않습니다.
SharedTable.c: In function ‘JAVA_model_JNIResultSet_getSpieler’:
SharedTable.c:116:5: warning: passing argument 4 of ‘(*env)->SetObjectArrayElement’ from incompatible pointer type [enabled by default]
ret, i, ptr);
나는 내가하는 jobject을 반환해야 함을 알고를하지만 난 그것을 생성하는 방법을 모르겠어요.
typedef struct _Spieler {
char vorname[50];
char nachname[50];
int trikotnummer;
struct _Spieler *next;
} Spieler;
내 코드가 다음과 같습니다 :
내 구조체처럼 보이는
Spieler *ptr = head;
jobjectArray ret;
int i;
jclass class = (*env)->FindClass(env, "model/Spieler");
ret= (*env)->NewObjectArray(env, count, class, NULL);
for(i = 0; i < count; i++) {
(*env)->SetObjectArrayElement(env, ret, i, ptr);
ptr = ptr->next;
}
return ret;
전체 예제가 도움이 될 것입니다. –
배열 요소에 c struct를 할당 할 수 없습니다. JNI – talex
으로 자바 객체를 생성해야합니다. 현재 연결된 목록은 { "a", "b", 1}, { "x", "y", 2}와 같이 보입니다. 그것의 jni에 의한 물건? – mafioso