Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| 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) |
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 | Next — Next in thread | Find similar
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