Вопросы с тегом «java-native-interface»

Собственный интерфейс Java (JNI) дает как возможность реализациям JVM запускать собственный системный код, так и возможность для собственного кода запускать код Java (путем создания новых экземпляров JVM). Наиболее распространенными целевыми языками для JNI являются C и C ++, для которых, по крайней мере, реализации Sun / Oracle JDK предоставляют вспомогательные команды (javap - для дизассемблирования кода, javah для генерации кода c).

30
Не удалось загрузить общую библиотеку JNI (JDK)
Когда я пытаюсь открыть Eclipse , всплывающее диалоговое окно гласит: Не удалось загрузить общую библиотеку JNI "C: /JDK/bin/client/jvm.dll" `. После этого сила затмения закрывается. Вот несколько замечаний, которые я хотел бы сделать: Я проверил, существует ли что-нибудь на этом пути. Это существует. Мой Eclipse и Java SE Development Kit оба …

11
Как я могу определить, работает ли я в 64-битной JVM или 32-битной JVM (изнутри программы)?
Как я могу определить, является ли JVM, в которой выполняется мое приложение, 32-разрядной или 64-разрядной? В частности, какие функции или свойства я могу использовать для обнаружения этого в программе?


3
Что делает JNI звонки медленными?
Я знаю, что «пересечение границ» при вызове JNI в Java происходит медленно. Однако я хочу знать, что делает его медленным? Что делает базовая реализация jvm при выполнении вызова JNI, который делает его таким медленным?




2
JNI преобразовывает jstring в char *
Я передал строку URL-адреса из кода Java в код C в качестве jstringтипа данных с помощью JNI. И моему библиотечному методу нужен char *URL-адрес as. Как я могу конвертировать jstringв char *? PS: Есть ли преимущества использования jcharArray в C? (т.е. передача char []вместо строки в собственном методе)

7
Как связать собственную библиотеку и библиотеку JNI внутри JAR?
Речь идет о библиотеке Tokyo Cabinet . Я хочу иметь собственную библиотеку, библиотеку JNI и все классы API Java в одном файле JAR, чтобы избежать проблем с перераспределением. Кажется, на GitHub есть такая попытка , но Он не включает собственно собственную библиотеку, только библиотеку JNI. Похоже, это специфично для плагина …

15
неопределенная ссылка на `__android_log_print '
Что не так с моим make файлом? Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := foo LOCAL_SRC_FILES := foo.c LOCAL_EXPORT_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) foo.c #include <string.h> #include <jni.h> #include <android/log.h> #define LOG_TAG "foo" #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__) void test() { LOGI("test"); } ndk-build foo.c:9: undefined reference to …

9
Как импортировать класс из пакета по умолчанию
Возможный дубликат: как получить доступ к java-классам в пакете по умолчанию? Я использую Eclipse 3.5, и я создал проект с некоторой структурой пакета вместе с пакетом по умолчанию. У меня есть один класс в пакете по умолчанию - Calculations.java, и я хочу использовать этот класс в любом пакете (например, в …

4
Как я могу поймать SIGSEGV (ошибку сегментации) и получить трассировку стека под JNI на Android?
Я перемещаю проект в новый Android Native Development Kit (например, JNI), и я хотел бы поймать SIGSEGV, если это произойдет (возможно, также SIGILL, SIGABRT, SIGFPE), чтобы представить красивый диалог отчета о сбоях вместо (или раньше) то, что происходит в настоящее время: немедленная бесцеремонная смерть процесса и, возможно, некоторая попытка ОС …

14
java.lang.UnsatisfiedLinkError no *****. dll в java.library.path
Как я могу загрузить собственный файл DLL в свое веб-приложение? Я пробовал следующее: Скопировал все необходимые dll в system32папку и попытался загрузить одну из них в ServletконструкторSystem.loadLibrary Скопировал необходимые dll в tomcat_home/shared/libиtomcat_home/common/lib Все эти dll есть в WEB-INF/libвеб-приложении.

2
Вызов java-метода из c ++ в Android
Я пытаюсь получить простой вызов метода Java из C ++, в то время как Java вызывает собственный метод. Вот код Java: public class MainActivity extends Activity { private static String LIB_NAME = "name"; static { System.loadLibrary(LIB_NAME); } /** Called when the activity is first created. */ @Override public void onCreate(Bundle …

17
Как исправить ошибку UnsatisfiedLinkError (не удается найти зависимые библиотеки) в проекте JNI
Я работаю над проектом Java, который использует JNI. JNI вызывает пользовательскую библиотеку, которую я написал сам, скажем, mylib.dll, которая зависит от сторонней библиотеки libsndfile-1.dll. Когда я запускаю свою программу, она вылетает с java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries. Я искал этот сайт (и другие) и попробовал несколько исправлений: Я запустил …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.