Invocare codice C ++ da Java (GCJ)
-
24-10-2019 - |
Domanda
Sto cercando di richiamare C ++ da Java utilizzando GCJ utilizzando il CNI, finora sono in grado di richiamare il codice Java da C ++. Come può invoco C ++ da Java utilizzando il CNI?
Soluzione
io estendere un po 'sulla risposta pcent di leggere il GCJ / CNI Docs .
Credo che la chiave è quello di capire l'intero concetto di "CNI classe C ++".
- La creazione di una CNI classe C ++ è spiegato in la pagina .
- È possibile chiamare codice Java da un CNI classe C ++ (a patto di aver generato i file di intestazione) -. È quello che già fare (chiamando Java da C ++)
- Il punto chiave è che metodi CNI C ++ può essere invocato da Java (perché queste classi hanno una serie di restrizioni su di loro per rendere compatibile Java-li). E perché la classe CNI è solo una (particolare tipo di) classe C ++, si può anche collegare ad altre librerie proprio come si farebbe collegare qualsiasi classe C ++.
La maggior parte della documentazione descrive come le convenzioni Java traducono in un CNI classe C ++.
Altri suggerimenti
Non sono un buon Java programmatore, ma io sono familiarità con C # / C ++ interoperabilità. La soluzione migliore per me per chiamare da C ++ nativo di C # stava usando richiamate . Credo che questo vale anche per JNI
Prova a leggere: http: // www.tidytutorials.com/2009/07/java-native-interface-jni-example-using.html