www.wikidata.de-de.nina.az
Java Native Access JNA ist eine Java Programmbibliothek fur den Zugriff auf plattformspezifische native dynamische Programmbibliotheken DLLs in Windows oder shared libraries auf anderen Systemen Hierbei braucht im Unterschied zu Java Native Interface JNI kein plattformspezifischer Code geschrieben zu werden Java Native AccessBasisdatenMaintainer Todd Fast Timothy Wall Liang ChenAktuelle Version 5 5 0 30 Oktober 2019 Betriebssystem Windows OS X Android AIX FreeBSD Linux OpenBSD Solaris Windows MobileProgrammiersprache JavaKategorie Software BibliothekLizenz LGPL Version 2 1 oder hoher und ab V4 0 die Apache Software License V2 0github com java native access jnaJNA ist in der Funktion mit den Platform Invocation Services P Invoke des Net Frameworks unter Windows vergleichbar Es unterstutzt eine automatische Umwandlung zwischen einigen C und Java Datentypen Die minimal erforderliche Java Version ist 1 4 Inhaltsverzeichnis 1 Lizenz 2 Mapping der Datentypen 3 Anwendungen 4 Beispiel 5 Weblinks 6 EinzelnachweiseLizenz BearbeitenLGPL Version 2 1 oder hoher und ab V4 0 die Apache Software License V2 0 1 Mapping der Datentypen BearbeitenDie folgende Tabelle zeigt wie das Mapping zwischen Java und dem nativen Code mit JNA erfolgt 2 Nativer Typ Grosse Java Typ Standard Windows Typechar 8 bit integer byte BYTE TCHARshort 16 bit short short WORDwchar t 16 32 bit character char WCHAR TCHARint 32 bit integer int DWORDint boolean value boolean BOOLlong 32 64 bit integer NativeLong LONGlong long int64 64 bit integer longfloat 32 bit FP floatdouble 64 bit FP doublechar C string String LPCTSTRvoid pointer Pointer LPVOID HANDLE LPXXXAnwendungen BearbeitenDie folgenden Softwareprojekte verwenden JNA JRuby Java Media Framework FMJ IntelliJ IDEABeispiel BearbeitenDas folgende Beispiel ladt 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 bzw shared library 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 lt args length i CLibrary INSTANCE printf Argument d s n i args i Weblinks BearbeitenJava Native Access Homepage englisch Java Native Access Download page englisch Java Native Access User Mailing List englisch Einzelnachweise Bearbeiten github com Default Type Mappings jna dev java net abgerufen am 2 August 2011 Abgerufen von https de wikipedia org w index php title Java Native Access amp oldid 237190937