creation de variable globale [Java/JNI et C] - Java - Programmation
MarshPosté le 14-10-2008 à 11:49:57
Bonjour
J'essaie d'appeler via JNI une fonction C qui mappe un fichier en mémoire. Je veux ensuite garder une référence en C vers le début de la zone mappée.
En passant les détails je fais ça : jbyte *local_pkt_buffer = (jbyte*)mmap(NULL, file_len, PROT_READ, MAP_SHARED, fd, 0); puis ensuite pour garder la réréfrence, je fais : static jbyte *pkt_buffer=(*env)->NewGlobalRef(env,local_pkt_buffer);
Mais ca ne marche pas à la compilation : passing arg 2 of pointer to function frim incompatible pointer type.
Comment faire pour garder en mémoire le pointeur vers le début de la zone mappée ?
Marsh Posté le 14-10-2008 à 11:49:57
Bonjour
J'essaie d'appeler via JNI une fonction C qui mappe un fichier en mémoire.
Je veux ensuite garder une référence en C vers le début de la zone mappée.
En passant les détails je fais ça :
jbyte *local_pkt_buffer = (jbyte*)mmap(NULL, file_len, PROT_READ, MAP_SHARED, fd, 0);
puis ensuite pour garder la réréfrence, je fais :
static jbyte *pkt_buffer=(*env)->NewGlobalRef(env,local_pkt_buffer);
Mais ca ne marche pas à la compilation : passing arg 2 of pointer to function frim incompatible pointer type.
Comment faire pour garder en mémoire le pointeur vers le début de la zone mappée ?
merci beaucoup