49 votes

comment appeler la fonction java à partir de c++?

Bonjour à tous comment puis-je appeler java fonction de c++ de l'application ( ne pas l'utiliser cmd méthodes.. ) Merci

24voto

Daniel H. Points 685

Comme un exemple, consultez la Création d'une JVM de C. Il montre un exemple de procédure pour créer une JVM et appeler une méthode. Si la JVM existe déjà; par exemple, votre programme C est invoquée par le programme Java (rappel de la situation), vous pouvez mettre en cache les JNIEnv* pointeur.

Comme un conseil, attention à la mise en cache des pointeurs à la JVM de C/C++, il y a quelques sémantique liée à ce que vous pouvez mettre en cache et il peut être invoqué plus tard. Pour que, comme Brian Agnew a souligné, vérifier la JNI de référence.

18voto

Brian Agnew Points 143181

Découvrez la JNI Invocation interface. Cela vous permettra d'intégrer une JVM au sein de votre C (ou C++) de l'application.

Noter que l'ensemble de plus facile, il existe des mécanismes pour faciliter l'appel de C/C++ Java (par exemple, la "JNA"). Il peut être intéressant d'inverser votre problème tel que vous pouvez appeler à partir de Java (je comprends que cela peut ne pas être possible pour votre application particulière, cependant)

2voto

dirkgently Points 56879

Lire sur JNI.

1voto

Yuval Adam Points 59423

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X