Bonjour,
Je tente de récupérer une structure renseignée par ma fonction en C++, mais je n'arrive pas à faire le Mapping du côté Java pour pouvoir l'utiliser à travers ma DLL.
Mon programme en C++ s'exécute bien, j'arrive à récupérer les données de ma structure pour les traiter.
Entete de ma fonction en C++ et la structure que je dois récupérer :
Mapping fait du côté Java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 struct donneesGrilleP recupDonneesMNT (const char* fichierDEM, int *tab) struct donneesGrilleP { int longueurCase; int largeurCase; int posXAntenne; int posYAntenne; double frequence; double hauteurAntenne; double **tabObstacles; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 /* Interface permettant d'appeler les fonctions de la dll */ public interface methodesC extends Library { /* Chargement de la DLL */ methodesC INSTANCE = (methodesC) Native.loadLibrary("ParseurDEM", methodesC.class); /* Prototypages des fonctions contenues dans la DLL */ structDonneesMNT recupDonneesMNT(String fichier, Pointer[] tabGrille); }A l'exécution de mon programme Java voici l'erreur retournée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class structDonneesMNT extends Structure { public int longueurCase; public int largeurCase; public int posXAntenne; public int posYAntenne; public double frequence; public double hauteurAntenne; public PointerByReference tabObstacles; }
Je ne comprend pas comment interpréter cette erreur. Est-ce possible que le problème vienne de la mauvaise déclaration dans ma structure en Java pour le tableau de double multidimensionnel (public PointerByReference tabObstacles) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_UNCAUGHT_CXX_EXCEPTION (0xe06d7363) at pc=0x7569b9bc, pid=1704, tid=5720 # # JRE version: 7.0_02-b13 # Java VM: Java HotSpot(TM) Client VM (22.0-b10 mixed mode, sharing windows-x86 ) # Problematic frame: # C [KERNELBASE.dll+0xb9bc] # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
Ma version de Java est la 7.1 (JR7)
Merci
Partager