Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.java > #8526

Lavorando con JNI... il tipo int??

From "CarMas" <carmas@jpknet.com>
Newsgroups it.comp.java
Subject Lavorando con JNI... il tipo int??
Date 2015-09-17 14:27 +0200
Organization Aioe.org NNTP Server
Message-ID <mtebij$tu$1@speranza.aioe.org> (permalink)

Show all headers | View raw


Salve a tutti, stavo rivedendo dei vecchi pezzi di codice e mi è sorto un 
dubbio su una chiamata JNI.
Ho un metodo che accetta un array di interi, che nel codice nativo vengono 
acquisiti come da manuale, quindi col GetIntArrayElements che ritorna un 
jint*.
Fin qui tutto bene... poi questo "array" viene passato ad un metodo generico 
di calcolo, che essendo generico accetta un void*. In fase di elaborazione, 
a runtime viene fatto il cast a int* e vi si accede come sempre.
Sembrerebbe tutto funzionare, se non fosse che passandoci casualmente con il 
mouse, il visualstudio mi abbia detto che in realtà la typedef del jint non 
è int come mi aspettavo, bensì long.
E qui nascono le mie perplessità: il metodo di calcolo è sbagliato??? 
dovrebbe castare il puntatore ricevuto a long invece che int?? sta 
funzionando tutto esclusivamente per caso perché in questa architettura sia 
int che long hanno lo stesso sizeof? ovvero sono a 32bit con segno 
(http://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/types.html) 
?

Grazie per chi mi illuminerà la mente in questa confusione quotidiana
CarMas

Back to it.comp.java | Previous | NextNext in thread | Find similar


Thread

Lavorando con JNI... il tipo int?? "CarMas" <carmas@jpknet.com> - 2015-09-17 14:27 +0200
  Re: Lavorando con JNI... il tipo int?? "CarMas" <carmas@jpknet.com> - 2015-09-17 14:40 +0200

csiph-web