특이한 문제가 있습니다. 다음 JNI 메서드를 호출 할 때.포인터를 변경하는 JNI 메소드
jobjectArray array = env->NewObjectArray(list->size, jclass, 0);
이제 list->size
는 54로 설정되어 그러나 즉시 코드로 위와 같은 포인터 반환을 실행, 2405015736
는 세드릭? As는 나머지 구조체의 값에도 영향을 미칩니다. 고정 값 설정 : 즉
jobjectArray array = env->NewObjectArray(54, jclass, 0)
또한 효과가 없습니다. 어떤 아이디어? 나는 혼란 스럽다.
(JCLASS가로드 된 클래스 개체입니다 jclass = env->FindClass("name");
)
감사
동일한 포인터입니까? 이게 무슨 뜻이야? 또한 proc_jclass 대신 jclass를 사용하십시오. –
"list 구조체의 모든 것을 방해하는 이유는"'list-> size'가 이전에'jobjectArray array = env-> NewObjectArray (list-> size, jclass, 0)'가되기 전에 54 * 'list-> size'는'2405015736' * 뒤에 *? 그렇다면,'list'의 유형,'* list'을위한 공간 할당 방법,'* list' 초기화 방법을 게시 할 필요가 있다고 생각합니다. 거의'list'는 모든 종류의 문제를 일으킬 수있는 스택에 대한 포인터 인 것 같습니다. –
작성되었습니다. list_struct * list; 그리고 나서 list_create (list); 해당 목록 포인터를 가져 와서 구조체를 변경하기 위해 호출됩니다. –