|
Summary: 20 Kombination von C++ und Java 20.1 Java Native Interface (JNI) 20-4(368)
· Die C++-Funktion muss in Java als native deklariert werden. Geladen werden soll sie aus einer
dynamischen Bibliothek libcppfunctions.so.
SprachMix/JNI/C++fromJava/Main.java
7 public class Main
8 {
9 public native static double cppfunc(double x);
10 static { System.loadLibrary("cppfunctions"); }
11
12 public static void main(String[] args)
13 {
14 System.out.println("main program is Java");
15 System.out.println("result: " + cppfunc(5.0));
16 }
17 }
Die Java-Klasse wird wie üblich kompiliert:
l115 .../JNI/C++fromJava > javac Main.java
· Das Kommando
l115 .../JNI/C++fromJava > javah Main
liest die class-Datei und schreibt die Signaturen aller nativen Funktionen in eine Header-Datei Main.h.
|