Кто-то прислал мне свою статическую библиотеку (lib.a) и файл заголовка (lib.h), который должен быть написан на C ++, я использовал компилятор gcc для преобразования статической библиотеки (lib.a) в общую библиотеку (.so ). Теперь я хочу использовать Java для вызова библиотеки, чтобы использовать ее функции.
Я пробовал System.load и System.loadLibrary, но я не знаю, как вызывать его функции. Например, я вижу, что есть вызов функции MoveFront (int) из заголовочного файла, и он вернет целое число для статуса.
extern int MoveFront(int);
Есть способ сделать это? Спасибо.
Я использую Ubuntu 13.10, JDK 1.8.0_20, gcc 4.6.3.
Вы не можете вызывать их напрямую в Java
Вы должны построить мост, используя JNI
связать вашу lib.a с bridge.c в libbridge.so
тогда ява может использовать System.loadLibrary("bridge")
использовать это
какой-то гид здесь https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html