1javaj
icc数据类型对应关系数据类型对应关系。
C标准库libc标准数学库libmlibm压缩库libzLog库liblog2如何将java传入的Stri
g参数转换为c的char,然后使用java传入的Stri
g参数,c文件中被j
i转换为jstri
g的数据类型,c文件中声明,在,在chartest,然后testchare
vGetStri
gUTFCharse
vjstri
gNULLGetStri
gUTFCharse
v注意:test使用完后,必须手动释放内存通知虚拟机平台相关代码无需再访问)必须手动释放内存(通知虚拟机平台相关代码无需再访问:e
vReleaseStri
gUTFCharse
vjstri
gtestReleaseStri
gUTFCharse
v3将c中获取的一个char的buffer传递给java?的这个char如果是一般的字符串的话如果是一般的字符串的话,作为stri
g传回去就可以了。如果是含有如果是含有’0’的buffer,最好作为bytearray传出,因为可以制定copy的le
gth,如果copy到stri
g,可array能到’0’就截断了。有两种方式传递得到的数据:有两种方式传递得到的数据
f一种是在j
i中直接
ew一个byte数组,然后调用函数e
vSetByteArrayRegio
e
vbytearray0le
buffer将buffer的值copy到bytearray中,函数直接retur
bytearray就可以了。一种是retur
错误号,数据作为参数传出,但是java的基本数据类型是传值,对象是传递的引用,所以将这个需要传出的byte数组用某个类包一下,如下:classRetObjpublicbytebytearray这个对象作为函数的参数retobj传出,通过如下函数将retobj中的byte数组赋值便于传出。代码如下:
jclassclsjfieldIDfidjbyteArraybytearraybytearraye
vNewByteArraye
vle
e
vSetByteArrayRegio
e
vbytearray0le
bufferclse
vGetObjectClasse
vretobjfide
vGetFieldIDe
vcls