<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Java%3AJNA</id>
		<title>Java:JNA - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Java%3AJNA"/>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Java:JNA&amp;action=history"/>
		<updated>2026-05-04T14:27:05Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.minetti.org/mediawiki/index.php?title=Java:JNA&amp;diff=109&amp;oldid=prev</id>
		<title>Jp : Page créée avec « == But == Java Native Access (JNA) permet à une application Java d'exécuter du code natif placé dans des bibliothèques chargées dynamiquement (DLL sous Windows et SO... »</title>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Java:JNA&amp;diff=109&amp;oldid=prev"/>
				<updated>2016-04-07T17:58:14Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == But == Java Native Access (JNA) permet à une application Java d&amp;#039;exécuter du code natif placé dans des bibliothèques chargées dynamiquement (DLL sous Windows et SO... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== But ==&lt;br /&gt;
Java Native Access (JNA) permet à une application Java d'exécuter du code natif placé dans des bibliothèques chargées dynamiquement (DLL sous Windows et SO sous Linux).&lt;br /&gt;
&lt;br /&gt;
JNA est bien adapté pour accéder à des bibliothèques tiers. Par contre si l'on doit créer ses propres bibliothèques, [[Java:JNI|JNI]] est mieux adapté.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
* Pour intégrer JNA dans un projet, il est impératif d'insérer [https://github.com/downloads/twall/jna/jna.jar jna.jar] dans le CLASSPATH. Avec Maven, il suffira d'inclure dans le POM:&lt;br /&gt;
 &amp;lt;dependency&amp;gt;&lt;br /&gt;
         &amp;lt;groupId&amp;gt;net.java.dev.jna&amp;lt;/groupId&amp;gt;&lt;br /&gt;
         &amp;lt;artifactId&amp;gt;jna&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
         &amp;lt;version&amp;gt;3.4.0&amp;lt;/version&amp;gt;&lt;br /&gt;
 &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite s'il l'on veut générer les interfaces et classes Java pour l'accès à une bibliothèque, on téléchargera l'outil [http://code.google.com/p/jnaerator/ jnaerator].&lt;br /&gt;
&lt;br /&gt;
== Mode opératoire ==&lt;br /&gt;
* A l'aide du ''header'' de la bibliothèque et de l'outil [http://code.google.com/p/jnaerator/ jnaerator], générer les différentes classes et interfaces Java.&lt;br /&gt;
&lt;br /&gt;
== Types opaques ==&lt;br /&gt;
On trouve souvent des types opaques dans les ''headers'' des bibliothèques. Ils se présentent sous la forme:&lt;br /&gt;
 struct libusb_device;&lt;br /&gt;
Ils permettent de porter des données dont le contenu n'est visible que par la bibliothèque.&lt;/div&gt;</summary>
		<author><name>Jp</name></author>	</entry>

	</feed>