JNI學習筆記五

2021-06-09 02:26:23 字數 787 閱讀 6704

處理陣列

基本型別的陣列

getarrayelements(array arr,jboolean* iscopied);

releasearrayelements(array arr,jboolean* iscopied);

getprimitivarraycritical(arrayelements(jarray arr,void* array,jboolean* iscopied);

//開記憶體放到記憶體中

getarrayregion(array arr,jsize start, jsize len * buffer);

setarrayregion(array arr,jsize start, jsize len * buffer);

物件型別陣列

//取得陣列屬性

jfieldid fid_arrays=env->getfieldid(env->getobjectclass(obj),"arrays","[i");

jintarray jint_arr=(jintarray)env->getobjectfield(obj,fid_arrays);

//取得陣列屬性元素

jint* int_arr=env->getintarrayelements(jint_arr,null);

jsize len=env->getarraylength(jint_arr);

for(jsize i=0;i

env->releaseintarrayelements(jint_arr,int_arr,jni_abort);   

學習JNI 五 C語言之指標

指標 什麼是指標 指標就是一塊記憶體空間,就是乙個記憶體位址 預設c語言的指標 32位記憶體空間 0x00000000 0xffffffff 指標和指標變數是兩個不同的概念 指標代表的是一塊記憶體位址 指標變數是乙個儲存指標的變數,儲存這塊記憶體位址 l指標就是位址,位址就是指標 l位址就是記憶體單...

JNI入門之C C 基礎五

聯合體 共用體 不同型別的變數共同占用一段記憶體 相互覆蓋 聯合變數任何時刻只有乙個成員存在,節省記憶體 聯合體變數的大小 最大的成員所佔的位元組數 union myvalue int x int y double z void main union myvalue d1 d1.x 90 d1.y ...

JNI學習第六天

記憶體申請 int num 4 int array int malloc sizeof int num int array 4 int i 0 for ifree array 上面所操作的就是int型別的陣列申請 sizeof int num 相當於開闢4個int型別的記憶體位址 int array...