Estoy tratando de invocar C++ desde Java usando GCJ usando el CNI, hasta ahora puedo invocar el código Java desde C++. ¿Cómo puedo invocar C++ desde Java usando el CNI?Invocando código C++ de Java (GCJ)
7
A
Respuesta
4
me extiendo un poco sobre la respuesta de pcent para leer el GCJ/CNI Docs.
Creo que la clave está en comprender todo el concepto de "clase CNI C++".
- La creación de una clase CNI C++ se explica en that page.
- Puede llamar al código Java de una clase CNI C++ (siempre que haya generado archivos de encabezado): eso es lo que ya hace (llamando a Java desde C++).
- El punto clave es que los métodos CNI C++ pueden invocarse desde Java (porque estas clases tienen un conjunto de restricciones para hacerlos compatibles con Java). Y debido a que la clase CNI es solo una clase (particular) de la clase C++, también puede vincularla a otras bibliotecas del mismo modo que vincularía cualquier clase de C++.
La mayor parte de documentation describe cómo se traducen las convenciones de Java en una clase CNI C++.
0
lectura Trata GCJ/CNI Docs
-1
No soy un buen programador de Java, pero estoy familiarizado con C#/C++ interoperabilidad. La mejor solución para llamar desde C++ nativo a C# administrado era usando Callbacks. Creo que esto se aplica también a JNI
lectura Probar: http://www.tidytutorials.com/2009/07/java-native-interface-jni-example-using.html
Cuestiones relacionadas
- 1. Java JRE vs GCJ
- 2. Integrar c/C++ con código nativo de Java como biblioteca compartida (compilada por gcj)
- 3. ¿Está muerto el compilador Java (GCJ) de GNU?
- 4. ¿Cómo usar GCJ con Ant?
- 5. Invocando el depurador desde un programa C
- 6. Dinámicamente P/Invocando una DLL
- 7. Detección de funciones cuando P/Invocando en C# y .NET
- 8. invocando padres inicializador de la clase
- 9. Lista de delegados e invocando
- 10. ¿Puede C++ llamar código Java?
- 11. ¿El GCJ aún está en desarrollo?
- 12. Métodos de llamada C del código C++/Java/C#?
- 13. ¿Llamar al código C# de Java?
- 14. Interactuando con el código java de C#
- 15. Invocando su en emacs 'eshell
- 16. Rails 3.2: Invocando \ down de otra migración
- 17. Invocando funciones nativas de la biblioteca portada
- 18. Invocando métodos en el contexto de QThread
- 19. Pruebas unitarias Código C++ utilizando Java
- 20. Puerto RSA código Java cifrado en C#
- 21. ¿Cómo convierto el código Java en código C#?
- 22. ¿Cómo llamar código Java desde C#?
- 23. Invocando métodos con parámetros opcionales a través de la reflexión
- 24. perfil código de Java
- 25. ¿Buenos ejemplos de proyectos de código abierto .NET (C#) portados a Java? (C# -> Java)
- 26. invocando el constructor de copia dentro de otro constructor
- 27. invocando proc con instance_eval con argumentos?
- 28. Conversión de código OpenCV de C++ a Java
- 29. analizando el código fuente de C++ en el entorno Java
- 30. Herramienta para convertir Java al código de C#
La cuestión no estaba a punto de JNI - se trataba de CNI, que es una bestia completamente diferente. –