[問題] JNI的問題

看板java作者 (真相)時間12年前 (2013/03/10 00:14), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/2 (看更多)
請問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

03/10 11:28, , 1F
03/10 11:28, 1F

03/11 13:59, , 2F
jni端c的function ,可用javah來做出header file
03/11 13:59, 2F
文章代碼(AID): #1HEr_irV (java)
討論串 (同標題文章)
文章代碼(AID): #1HEr_irV (java)