J'ai une question existentielle à savoir qu'est-ce qui provoque une erreur du type "Invalid Memory Access".
Plus particulièrement lorsque les pointeurs passés en paramètre sont non nulle.
Cette erreur survient généralement lorsque le programme essaye une lecture dans une zone mémoire invalide, soit parce qu'il n'a pas les droits nécessaires, soit parce que la mémoire est réservée, soit parce qu'elle est en court de lecture par un autre programme.
Bon courage en tout cas, c'est généralement très énervant de trouver la cause...
genre un pointeur essayant de lire une zone de mémoire non allouée comme, par exemple :
--> tu alloues n éléments, tu fais une boucle allant de 0 à n au lien de n-1
Mais c'est vrai que c'est pas simple à débugger, bon courage
Cls a écrit :Cette erreur survient généralement lorsque le programme essaye une lecture dans une zone mémoire invalide, soit parce qu'il n'a pas les droits nécessaires, soit parce que la mémoire est réservée, soit parce qu'elle est en court de lecture par un autre programme.
Bon courage en tout cas, c'est généralement très énervant de trouver la cause...
Le pire c'est que j'utilise la même fonction avec les mêmes structures mais de provenance différente. Dans le premier cas de figure, il n'y a aucun problème. Dans le 2e cas et bien là c'est immanquable, ça plante sévère. Dans les 2 cas, la fonction qui provient d'une librairie "*.so" (*.dll c'est sensiblement la même chose) écrite en C, reçoit 2 pointeurs vers des structures et 1 valeur. (Les 2 pointeurs sont non nulle.) De plus, je peux parcourir les données à mon gré sans problème.