Структура отображения JNI в Java - PullRequest
1 голос
/ 25 октября 2010

У меня есть DLL, которая имеет метод, например, void abc(meth* myMeth) и структуру

struct meth
{
  int a;
  char b[255]; 
} 

Приведенный выше код написан на языке c. Мне нужно сопоставить это с Java через JNI, и я застрял. Как я могу передать ссылку на метод abc в качестве указателя на метод Java, и как я могу установить значения a и b и затем снова вернуться в Java? Нужна срочная помощь .... Спасибо

Ответы [ 2 ]

2 голосов
/ 25 октября 2010

Я не знаю, подходит ли вам этот вариант, но рассмотрите возможность использования некоторой структуры более высокого уровня для управления подробными сведениями о JNI низкого уровня для вас.Два варианта:

Лично я использовал JNAerator и нашел его действительно полезным.

1 голос
/ 25 октября 2010

Нет сопоставления между классами Java и структурами C (не уверен, как JNA справится с этим);вам придется создать класс Java с теми же членами, что и у вашей структуры C, и написать функции C для преобразования между ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...