- Java Native Access
-
Java Native Access (JNA) ist eine Java-Programmbibliothek für den Zugriff auf plattformspezifische ("native") dynamische Programmbibliotheken (DLL in Windows). Hierbei muss im Unterschied zu JNI kein plattform-spezifischer Code geschrieben werden.
JNA ist in der Funktion mit den Platform Invocation Services (P/Invoke) von .NET vergleichbar. Es unterstützt eine automatische Umwandlung zwischen einigen C- und Java-Datentypen. Die erforderliche Java-Mindestversion ist 1.4.
Inhaltsverzeichnis
Lizenz
LGPL Version 2.1 oder höher.
Anwendungen
Die folgenden Softwareprojekte verwenden JNA:
Beispiel
Das folgende Beispiel lädt die Standard C Library um die printf-Funktion aufzurufen. Dieses Beispiel funktioniert auf Microsoft Windows und Linux / Unix / Mac OS X.
import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Platform; /** Einfaches Beispiel einer Deklaration und Nutzung einer Dynamischen Programmbibliothek. */ public class HelloWorld { public interface CLibrary extends Library { CLibrary INSTANCE = (CLibrary) Native.loadLibrary((Platform.isWindows() ? "msvcrt" : "c"), CLibrary.class); void printf(String format, Object... args); } public static void main(String[] args) { CLibrary.INSTANCE.printf("Hello, World\n"); for (int i=0;i < args.length;i++) { CLibrary.INSTANCE.printf("Argument %d: %s\n", i, args[i]); } } }
Weblinks
- Java Native Access Homepage (Englisch)
Kategorie:- Java-Bibliothek
Wikimedia Foundation.