Я делаю lib так, чтобы приложения cpp могли общаться с JVM. Предположим, что JVM уже начал, как я могу связать двоичный файл cpp с JVM? Я считаю, что лучшим решением является сохранение JVI env-переменной в общем объекте (так), поэтому я могу включить его в cpp и использовать позже.Могу ли я хранить переменную Java Env JNI?
Возможно ли это?
EDIT ----
Я хочу, чтобы получить JavaVM интерфейс за пределами виртуальной машины Java, что-то вроде этого метода:
- GetJavaVM возвращает указатель на интерфейс JavaVM для текущего экземпляра виртуальной машины.
Это то, что я хочу, у меня есть 2 процесса с JVM с родным lib, который будет хранить указатель, а другой - только C++-код, который будет использовать эту lib. Я хочу, чтобы другой процесс (только на C++) использовал lib и вызывал jvm (другой процесс). –
Если это не ясно из моего сообщения, вы не можете этого сделать. – kdgregory
Я думаю, возможно, возможно сделать метод 'connect' в родном lib, чтобы сделать следующее: * Вернуть указатель JavaVM с GetJavaVM() Теперь вызовите AttachCurrentThread() с этим указателем JavaVM. Мой вопрос: если это возможно, поскольку они не разделены нитями, а процессом :( –