1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
public class Test{
/* Chargement de la DLL */
methodesC INSTANCE = (methodesC) Native.loadLibrary("ParseurDEM", methodesC.class);
static {
System.setProperty("jna.library.path","chemin/de/ta/librairie"); //Petite astuce qui peut peut-être te servir ;).
}
/* Interface permettant d'appeler les fonctions de la dll */
public interface methodesC extends com.sun.jna.Library {
/* Prototypages des fonctions contenues dans la DLL */
structDonneesMNT recupDonneesMNT(String fichierDEM, int[] tab);
public static class structDonneesMNT extends com.sun.jna.Structure {
//Si tu veux que ta classes strucutre soit en valeur
public static class ByDonneesMNT extends structDonneesMNT implements com.sun.jna.Structure.ByValue { };
public int longueurCase;
public int largeurCase;
public int posXAntenne;
public int posYAntenne;
public double frequence;
public double hauteurAntenne;
public double tabObstacles;//Pas de pointeur en Java... Je suppose que le doubme pointeur fonctionnera de la même façon que le simpe...!
//Si tu veux que ta classes structures soit une refenrece
public static class ByReferenceDonneesMNT extends structDonneesMNT implements com.sun.jna.Structure.ByReference {
};
}
}
public static void main(String[] args){
Test test = new Test();
ByReferenceDonneesMNT donneesMNT = new ByReferenceDonneesMNT();
donneesMNT.longueurCase = 2;
/*
.....
*
*/
int[] a = {1,2,3};
test.INSTANCE.recupDonneesMNT("plop", a);
}
} |
Partager