2014-01-19 5 views
0

Я пытаюсь вызвать следующую функцию: c++Вызов функции со ссылкой

uint32_t FunctionName(uint32_t *arg1,uint32_t *arg2,uint32_t *arg3) 

, но я не могу найти способ отображения этого в Javacpp.

Как передать ссылку на указатель на функцию и как я могу получить измененные значения из переданных указателей впоследствии?

ответ

0

Что-то, как это должно работать нормально:

import com.googlecode.javacpp.*; 
import com.googlecode.javacpp.annotation.*; 

@Platform(include="lib.h", link="lib") 
public class Lib { 
    static { Loader.load(); } 

    public static native int FunctionName(@Cast("uint32_t*") int[] arg1, 
              @Cast("uint32_t*") int[] arg2, 
              @Cast("uint32_t*") int[] arg3); 
    public static void main(String[] args) { 
     int[] arg1 = new int[SIZE1], arg2 = new int[SIZE2], arg3 = new int[SIZE3]; 
     int ret = FunctionName(arg1, arg2, arg3); 
     // do what you need to do with the arguments 
    } 
} 
Смежные вопросы