<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=JavaNativeAccess</id>
	<title>JavaNativeAccess - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=JavaNativeAccess"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=JavaNativeAccess&amp;action=history"/>
	<updated>2026-04-13T12:38:30Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=JavaNativeAccess&amp;diff=373298&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=JavaNativeAccess&amp;diff=373298&amp;oldid=prev"/>
		<updated>2025-08-22T05:02:48Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Java Native Access&amp;#039;&amp;#039;&amp;#039;(&amp;#039;&amp;#039;&amp;#039;JNA&amp;#039;&amp;#039;&amp;#039;) 是一个社群開發的庫，伊使 Java 程式毋免使用 Java Native Interface 就會當輕鬆存取本地共享庫。JNA 的設計旨佇以上少的努力以原生的方式提供本地存取，而且無需要樣板代碼或膠水代碼。&lt;br /&gt;
&lt;br /&gt;
==結構==&lt;br /&gt;
&lt;br /&gt;
JNA 庫使用一个叫做外部函式介面庫（libffi）的小型本機庫來動態呼叫本機代碼。JNA 庫使用本地的函式，允准代碼照名稱載入庫並檢索指向該庫中函式的指標，使用 libffi 庫來共呼叫，煞無需要靜態結束，標頭檔抑是任何編譯。開發人員使用 Java interface 描述目標本機庫內底的函式佮結構（struct）。 這予得利用平台功能非常容易，避免組態猶閣有構建的 JNI 的懸開銷。&lt;br /&gt;
&lt;br /&gt;
JNA 支援佇咧 macOS，Microsoft Windows，FreeBSD / OpenBSD，Solaris，GNU / Linux，AIX，Windows Mobile 和 Android 上構建和測試。經過適當的調整佮重編譯，會使其實佇大多數會使執行 Java 的平台頂執行。&lt;br /&gt;
&lt;br /&gt;
==類型對應==&lt;br /&gt;
&lt;br /&gt;
這个表格顯示矣 JNA 所支援的類型佮 java 類型，Windows 通用類型的對應關係 .&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;注意：&amp;#039;&amp;#039;&amp;#039;根據一寡前置處理器指令佮無仝的實現，TCHAR 可能為 char 抑是 wchar \ _ t。LPCTSTR 嘛是仝款的。&lt;br /&gt;
&lt;br /&gt;
==資料結構的記持體位元組對齊==&lt;br /&gt;
&lt;br /&gt;
JNA 無規定的記持體位元組的對齊方式。JNA 預設為遵循 OS 平台的設定，但是嘛是會當自訂對齊的方式。若準本機庫的文件無提供關於記憶體對齊的詳細資訊，著愛通過試驗確定著愛正確的對齊方式。&lt;br /&gt;
&lt;br /&gt;
==範例==&lt;br /&gt;
&lt;br /&gt;
下跤這个例展示矣 JNA 欲按怎載入 C 標準庫並使用其中的 printf 函式。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;注意 :&amp;#039;&amp;#039;&amp;#039;這个例是無仝款台的，這意味著伊會當佇 Windows / GNU + Linux / Unix / macOS 執行，並且得著完全仝款的結果。&lt;br /&gt;
&lt;br /&gt;
下跤這个例使用矣 C POSIX 庫並呼叫其中的 mkdir 函式。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;注意 :&amp;#039;&amp;#039;&amp;#039;這个例佇咧 POSIX 相容的系統內底是迒平台的，這意味著伊會當佇所有 POSIX 相容系統中執行並得著相仝結果，但是伊無法度佇大多數 Windows 系統上執行。&lt;br /&gt;
&lt;br /&gt;
下跤這个例載入去矣 Kernel 三十二 . dll 並且呼叫其中的 Beep 和 Sleep 函式。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;注意 :&amp;#039;&amp;#039;&amp;#039;這个例干焦會當佇 Windows 下執行。&lt;br /&gt;
&lt;br /&gt;
==用處==&lt;br /&gt;
&lt;br /&gt;
JNA 被用佇下列專案當中：&lt;br /&gt;
&lt;br /&gt;
* Armed Bear Common Lisp , 使用 JNA 實現 CFFI。&lt;br /&gt;
* JRuby , 使用 JNA 實現 POSIX 相關功能。&lt;br /&gt;
* Freedom for Media in Java ( FMJ )。&lt;br /&gt;
* JetBrains 的 IntelliJ IDEA。&lt;br /&gt;
* OpenSearchServer , 一个開源搜揣 ia̋n-jín。&lt;br /&gt;
* SVNKit , 一个純 Java 的 Java Subversion client 庫，通過 JNA 實現相關功能。&lt;br /&gt;
* VLC media player , 佇咧 vlcj 庫中使用。&lt;br /&gt;
* Cyberduck 適用佇咧 FTP , SFTP , WebDAV , Cloud Files &amp;amp; Amazon S 三的瀏覽器。&lt;br /&gt;
* Log 四 j , 附加紀錄檔庫。&lt;br /&gt;
* Hudson 和 ・ Jenkins，繼續整合侍服器。&lt;br /&gt;
* Webdriver。&lt;br /&gt;
* YAJSW ( Yet Another Java Service Wrapper )。&lt;br /&gt;
* Cassandra , 來自 Apache Software Foundation 的開源分布資料庫，使用 JNA。&lt;br /&gt;
&lt;br /&gt;
==另見==&lt;br /&gt;
&lt;br /&gt;
* P / Invoke&lt;br /&gt;
* SWIG&lt;br /&gt;
&lt;br /&gt;
==參考連結==&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* Java Native Access Web Page&lt;br /&gt;
* Java Native Access-Download page&lt;br /&gt;
* Java Native Access-User Mailing List&lt;br /&gt;
* Java Native Access : An easier way to access native code by Jeff Friesen , JavaWorld . com , 二千空八孵二二孵五&lt;br /&gt;
* Protect Your Legacy Code Investment with JNA by Stephen B . Morris , Java . net , 二千空九九五五鋪二十&lt;br /&gt;
* Dasgupta , Sanjay . Simplify Native Code Access with JNA . Java . net . 二千空九九九九十一 [二千空二十五七孵二十三] .（原始內容存檔佇兩千空九石十一鋪十五）.&lt;br /&gt;
* JNA is now a Githubber by Daniel Doubrovkine , 二千空一十一孵九九二十&lt;br /&gt;
* Calling the Lotus Domino C-API with JNA by Jesper Kiaer 二千空一十三抹二十一&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>