Я ищу учебное пособие по тому, как называть Java методы C, используя JNI. Во всех учебных пособиях, которые я нашел до сих пор, примеры показывают, как сначала создать JVM из c. < /P>
Мое приложение начинается с Java и использует JNI, чтобы вызвать некоторые функции C. Теперь мне нужно вызвать некоторые функции Java из C, и я не хочу начинать JVM с c. C, и использовать его, чтобы сохранить указатель jnienv , а затем повторно использовать его, вместо создания нового экземпляра JVM из C, чтобы вызвать методы Java?
< P> Есть ли пример для этого? > Тот, кто читает эту ветку, должен быть осторожным! Не сохраняйте и повторно используйте какой -либо указатель jnienv*, который вы получали раньше, если вы не хотите, чтобы ваша программа сбоя. Лучший сценарий разбил ваше приложение. Код> экземпляр должен быть кэширован, поскольку, если ваша программа начинается с Java, то ваш C -код в любом случае сможет выполнять только как нативный метод Java, то его реализация C всегда получает соответствующий Jnienv* экземпляр . Это единственный экземпляр, который вы должны использовать, пока ваш родной метод не вернется, а не какой -либо старый сохраненный экземпляр.
Подробнее здесь: https://stackoverflow.com/questions/484 ... jvm-from-c
Вызов Java Methods из C без запуска JVM с C ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Класс не найден. Исключение — org.apache.http.client.methods.HttpRequestBase.
Anonymous » » в форуме JAVA - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-