作者nosrep (真相)
看板java
标题[问题] JNI的问题
时间Sun Mar 10 00:14:32 2013
请问C的函数名称如下
int decode(const void *src_data_ptr, short *dest_buf_ptr, int
dest_buf_size)
要转给 JAVA呼叫的话,JNI对应的函数参数应该如何对应...
decode的函数会将 src_data_ptr 处理後, 将资料写回 dest_buf_ptr.
同时将decode的结果长度回传.
其中 src_data_ptr 对应JAVA原始资料型态为: byte[]
dest_buf_ptr: short[]
目前我自己是转译成如下
jint Java_xxx_decode(JNIEnv *env, jobject thiz, jbyteArray src,
jshortArray dest, jint size);
以上不知道正不正确?
接着我的C对应的问题:
1.如何取得 src 的 byte资料, 改由 char*去处理?
2.最终的资料, 如何设定到 dest?
3.效率问题, 我是否可以将 dest 转成short *,
并将资料one by one的直接改变到dest的位址?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.70.208.163
2F:→ kogrs:jni端c的function ,可用javah来做出header file 03/11 13:59