◐ Shell
clean mode source ↗

GitHub - yabbasi31415/java-cpp-example: Example of using C++ classes from Java. Showcases SWIG, JNA and JNI

Say Thanks!

This repository contains three separate examples of calling a simple C++ library from Java code.

The example library doesn't do anything but contains a class, Calculator, forcing us to support C++ (and not just plain C).

CMake is used to build this, since locating the dependencies got outside the range of my make-fu. The project is supposed to be portable to all major platforms.

Three different wrappers are used, documented below. Each one achieves the same goal, which is using this C++ class from Java code.

JNI

This examples uses JNI directly, without auto-generation. The Calculator class in Java code just declares its methods as being "native", they are provided by the dynamic library.

To run the executable

$ java -cp java-jni/java/bin -Djava.library.path=java-jni app.Main