next up previous contents
Next: Erstellung der Header-Datei Up: 6.3.4 Das Java Native Previous: 6.3.4 Das Java Native

Definition der nativen Methode in der Java-Klasse

Fremdfunktionen werden innerhalb des Java-Codes wie normale Methoden deklariert. Der einzige Unterschied ist das zusätzliche Schlüsselwort native. Parameter und Rückgabewert werden ebenfalls als Java-Datentypen bzw. Objekte angegeben. Abbildung 6.11 zeigt die Deklaration für die Methode get_sysUptime(). Der C-Code, der die Funktion implementiert, wird übersetzt und zu einer shared library gebunden (siehe unten). Diese Bibliothek wird beim Instantiieren der Klasse über einen static initializer (siehe Abbildung 6.11) automatisch geladen. Hierdurch wird die Implementierung der Fremdfunktion auf die Deklaration der native method abgebildet. Natürlich kann die Bibliothek mehrere Fremdfunktionen enthalten. Der Name der Bibliothek kann beliebig, aber ohne Extension, gewählt werden. Auf UNIX-Systemen hängt die Java-VM die Endung .so an den Namen an. Anschließend muß die Klasse mit dem Java-Compiler übersetzt werden.


  
Abbildung: Java-Code für die Nutzung des JNI
57#57



Copyright Munich Network Management Team