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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top