Java Native Access (JNA) とは、JavaプログラムがJava Native Interfaceを用いずにネイティブの共有ライブラリにアクセスする方法を提供するライブラリである。JNA は最小限の作業でネイティブコードにアクセスできることを目指して設計されており、決まりきったアクセスコードを書いたりグルーコードの生成を行ったりせず、ネイティブコードへ正しく簡単にアクセスすることを最優先としている(ただし、性能にも注意が払われている)。JNAライブラリはネイティブコードを呼び出すためにlibffiを用いており、名前を指定してライブラリをロードするネイティブの関数を用いて、目的のライブラリ関数の関数ポインタを取得する。ネイティブコードにアクセスする過程で静的なバインディング、ヘッダファイル、またコンパイルは必要ない。アプリケーションの開発者はJavaのインターフェイスを用いて対象のネイティブライブラリの関数や構造体を記述する。これによって、JNIコードを記述しビルドする大きな労力をかけずにきわめて簡単にネイティブプラットフォームの機能を利用することができる。
JNAライブラリがサポートするJavaとネイティブコードの割り当てを下表に示す[6]。
下記のプログラムはプラットフォームの標準Cライブラリをロードし、printf関数を呼び出す。
注: 以下のコードはWindows、Linux / UNIX / macOSプラットフォームで動作する。
import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Platform; /** 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 < args.length; i++) { CLibrary.INSTANCE.printf("Argument %d: %s\n", i, args[i]); } } }
以下の例は、 C POSIXライブラリをロードし、標準APImkdirを呼び出す。
注: 下記のコードはPOSIX環境で動作する。
import com.sun.jna.Library; import com.sun.jna.Native; /** POSIXライブラリの宣言と使用法の例 */ public class PosixExample { public interface POSIX extends Library { POSIX INSTANCE = (POSIX) Native.loadLibrary("c", POSIX.class); int chmod(String filename, int mode); int chown(String filename, int user, int group); int rename(String oldpath, String newpath); int kill(int pid, int signal); int link(String oldpath, String newpath); int mkdir(String path, int mode); int rmdir(String path); } public static void main(String[] args) { POSIX posix = POSIX.INSTANCE; posix.mkdir("/tmp/newdir", 0777); posix.rename("/tmp/newdir", "/tmp/renamedir"); } }
下記のプログラムはKernel32.dllをロードし、BeepとSleep関数を呼び出す。
注: 下記のコードは Windows でのみ動作する。
import com.sun.jna.Library; import com.sun.jna.Native; /** MS-Windows の Library の宣言と使用法の例 */ public class BeepExample { public interface Kernel32 extends Library { Kernel32 INSTANCE = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class); boolean Beep(int dwFreq, int dwDuration); void Sleep(int dwMilliseconds); } public static void main(String[] args) { Kernel32 kernel32 = Kernel32.INSTANCE; kernel32.Beep(698, 500); kernel32.Sleep(500); kernel32.Beep(698, 500); } }
Legare Rogers LyttonLytton pada 1921LahirOscar Legare Rogers(1867-04-09)9 April 1867New Orleans, Louisiana, Amerika SerikatMeninggal14 Agustus 1924(1924-08-14) (umur 57)New York City, Amerika SerikatAlmamaterUniversitas ColumbiaPekerjaanPemeran, arsitekTahun aktif1912–1924 Legare Rogers Lytton[1] (nama lahir Oscar Legare Rogers;[2] 9 April 1867 – 14 Agustus 1924) adalah seorang pemeran film Amerika Serikat pada era film bisu dan arsitek.[1] Ia …
Ceratotherium Ceratotherium simum Taxonomische indeling Rijk:Animalia (Dieren)Stam:Chordata (Chordadieren)Klasse:Mammalia (Zoogdieren)Orde:Perissodactyla (Onevenhoevigen)Familie:Rhinocerotidae (Neushoorns) Geslacht Ceratotherium Afbeeldingen op Wikimedia Commons Ceratotherium op Wikispecies Portaal Biologie Zoogdieren Ceratotherium is een geslacht van zoogdieren uit de familie van de Rhinocerotidae (Neushoorns). Soort en ondersoorten Ceratotherium simum Burchell, 1817 (Witte neushoo…
اضغط هنا للاطلاع على كيفية قراءة التصنيف زوهريات المرتبة التصنيفية رتبة التصنيف العلمي فوق النطاق حيويات مملكة عليا حقيقيات النوى مملكة حيوان عويلم ثنائيات التناظر مملكة فرعية أوليات الفم شعبة عليا عجلانيات عرفية شعبة رخويات طائفة ذوا
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. La mise en forme de cet article est à améliorer (mai 2023). La mise en forme du texte ne suit pas les recommandations de Wikipédia : il faut le « wikifier ». Comment faire ? Les points d'amélioration suivants sont les cas les plus fréquents. Le détail des points à revoir est peut-être précisé sur la page de discussion. Les titres sont pré-formatés par le logiciel. Ils ne sont ni en …
Frédéric III de ThuringeFrédéric III et Catherine de Henneberg,mural du XIXe siècle dans l'Albrechtsburg de Meissen.Titres de noblesseMargraveLandgrave (en)BiographieNaissance 14 décembre 1332DresdeDécès 21 mai 1381 (à 48 ans)AltenbourgSépulture Abbaye d'AltzelleFamille Maison de WettinPère Frédéric IIMère Mathilde de Bavière (en)Fratrie Élisabeth de Misnie (en)Balthazar de ThuringeLouis de MisnieGuillaume Ier de MisnieConjoint Environ Catherine d'Hennebe…
Eixo Identificação: 42077 EIX (Eixo)[1] Denominação: Estação de Eixo Administração: Infraestruturas de Portugal (norte)[2] Classificação: E (estação)[1] Tipologia: D [3] Linha(s): Ramal de Aveiro (PK 27+859) Altitude: 12.34 m (a.n.m) Coordenadas: 40°37′51.8″N × 8°34′5.68″W (=+40.63106;−8.56824) Localização na rede (mais mapas: 40° 37′ 51,8″ N, 8° 34′ 05,68″ O; IGeoE) Concelho: Aveiro Serviços: Estação anterior Comboios de Por…
Bài viết hoặc đoạn này cần người am hiểu về chủ đề này trợ giúp biên tập mở rộng hoặc cải thiện. Bạn có thể giúp cải thiện trang này nếu có thể. Xem trang thảo luận để biết thêm chi tiết. (tháng 8/2022) Bài này không có nguồn tham khảo nào. Mời bạn giúp cải thiện bài bằng cách bổ sung các nguồn tham khảo đáng tin cậy. Các nội dung không có nguồn có thể bị nghi ngờ và xóa bỏ. N
Pour les articles homonymes, voir Julien (prénom). Julien Empereur romain Pièce en bronze de Julien, vers 360-363. Règne César (355-361), puis usurpateur et légitime 3 novembre 361-26 juin 3631 an, 7 mois et 23 jours Période Constantinienne Précédé par Constance II Suivi de Jovien Biographie Nom de naissance Flavius Claudius Julianus Naissance 331 ou 332Constantinople Décès 26 juin 363 (31 ans)Samarra (Empire sassanide) Père Flavius Julius Constantius Mère Basilina Fr…
هذه مقالة غير مراجعة. ينبغي أن يزال هذا القالب بعد أن يراجعها محرر مغاير للذي أنشأها؛ إذا لزم الأمر فيجب أن توسم المقالة بقوالب الصيانة المناسبة. يمكن أيضاً تقديم طلب لمراجعة المقالة في الصفحة المخصصة لذلك. (سبتمبر 2021) تران آن هانغ (بالفرنسية: Trần Anh Hùng) معلومات شخصية
2016 Christian drama film by Patricia Riggen Miracles from HeavenTheatrical release posterDirected byPatricia RiggenWritten byRandy BrownBased onMiracles from Heavenby Christy BeamProduced by DeVon Franklin T. D. Jakes Joe Roth Starring Jennifer Garner Kylie Rogers Martin Henderson John Carroll Lynch Eugenio Derbez Queen Latifah CinematographyChecco VareseEdited byEmma E. HickoxMusic byCarlo SiliottoProductioncompanies Columbia Pictures Affirm Films Roth Films TDJ Enterprises Franklin Entertainm…
Ecdeiocoleaceae Klasifikasi ilmiah Kerajaan: Plantae Divisi: Magnoliophyta (tanpa takson): Monokotil (tanpa takson): Commelinids (EuMonokotil) Ordo: Poales Famili: EcdeiocoleaceaeD.F.Cutler & Airy Shaw, 1965 Genera lihat teks. Ecdeiocoleaceae adalah salah satu suku anggota tumbuhan berbunga. Menurut sistem klasifikasi APG II suku ini termasuk ke dalam bangsa Poales, klad commelinids (euMonokotil). Wikimedia Commons memiliki media mengenai Ecdeiocoleaceae. Pengidentifikasi takson Wikidata: Q1…
Domínio da Mata Atlântica, segundo o WWF. No domínio da Mata Atlântica existem 131 unidades de conservação federais, 443 estaduais, 14 municipais e 124 privadas, distribuídas por dezesseis estados, com exceção de Goiás, no Brasil. O domínio da Mata Atlântica é provavelmente a região com o maior número de unidades de conservação na América Latina, entretanto, esses números grandiosos não são suficientes, visto que o sistema está longe de ser adequado: ainda assim, as áreas …
28E: Martim Moniz–Campo Ourique (Prazeres) Zwei Triebwagen der Linie 28E begegnen sich in der Rua da Conceição.Zwei Triebwagen der Linie 28E begegnen sich in der Rua da Conceição.Spurweite:900 mm (Schmalspur) Legende Als Endhaltepunkte bediente Betriebs-stellen sind fett dargestellt. Linie 12E (Ringlinie, nur im Uhrzeigersinn) Martim Moniz (28E/12E) Anschluss zur Linha Verde Linie 12E R. Palma Igreja Anjos Anschluss zur Linha Verde R. Maria Andrade R. Maria R. Forno Tijolo R. Maria Fo…
20th century American politician Jerris Leonard6th United States Assistant Attorney General for the Civil Rights DivisionIn office1969–1971PresidentRichard NixonPreceded byStephen J. PollakSucceeded byDavid Luke NormanMember of the Wisconsin Senatefrom the 4th districtIn officeJanuary 2, 1961 – January 6, 1969Preceded byKirby HendeeSucceeded byNile SoikMember of the Wisconsin State Assemblyfrom the Milwaukee 19th districtIn officeJanuary 7, 1957 – January 2, 1961Preceded …
Средняя ящерица Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пресм…
Expression which breaks ROE (return on equity) into three parts Graphical representation of DuPont analysis. DuPont analysis (also known as the DuPont identity, DuPont equation, DuPont framework, DuPont model or the DuPont method) is a tool in financial analysis, where return on equity, ROE, is separated into its components, useful in several contexts. This decomposition of ROE allows management to focus individually on the key metrics of financial performance, and thereby to identify strengths …
American business executive (1906–1998) Bill Martin9th Chairman of the Federal ReserveIn officeApril 2, 1951 – January 31, 1970PresidentHarry S. TrumanDwight D. EisenhowerJohn F. KennedyLyndon B. JohnsonRichard NixonDeputyC. Canby BalderstonJames RobertsonPreceded byThomas B. McCabeSucceeded byArthur F. BurnsMember of the Federal Reserve Board of GovernorsIn officeApril 2, 1951 – February 1, 1970PresidentHarry S. TrumanDwight D. EisenhowerJohn F. KennedyLyndon B. JohnsonR…
Fleet of Lockheed Martin F-35I Adir fighter aircraft used by the Israeli Air Force Main article: Lockheed Martin F-35 Lightning II procurement IAF F-35I Adir on its first flight with the Israeli Air Force, 13 December 2016 Lockheed Martin F-35 Lightning II Israeli procurement is the result of an agreement for the government of Israel to procure the Lockheed Martin F-35 Lightning II for the Israeli Air Force as the F-35I Adir. The first nine F-35s became operational with the Israeli Air Force in …
Koordinat: 40°43′33″N 74°0′25″W / 40.72583°N 74.00694°W / 40.72583; -74.00694 Museum Pemadam Kebakaran Kota New York terletak di sebuah rumah pemadam kebakaran yang telah direnovasi Museum Pemadam Kebakaran Kota New York (bahasa Inggris: The New York City Fire Museum) terletak di bekas markas Pemadam Kebakaran Kota New York, Engine Company No. 30, sebuah rumah pemadam kebakaran yang dibangun pada tahun 1904 dan telah direnovasi. Bangunan ini terletak di 27…
President of the United States from 2017 to 2021 For other uses, see Donald Trump (disambiguation). Donald TrumpOfficial portrait, 201745th President of the United StatesIn officeJanuary 20, 2017 – January 20, 2021Vice PresidentMike PencePreceded byBarack ObamaSucceeded byJoe Biden Personal detailsBornDonald John Trump (1946-06-14) June 14, 1946 (age 77)Queens, New York City, U.S.Political partyRepublican (1987–1999, 2009–2011, 2012–present)Other politicalaffiliations R…
Lokasi Pengunjung: 3.135.220.154