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

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

928
Не удалось загрузить общую библиотеку JNI (JDK)

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

563
Как я могу определить, работает ли я в 64-битной JVM или 32-битной JVM (изнутри программы)?

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

194
Что делает JNI звонки медленными?

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

113
JNI преобразовывает jstring в char *

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

104
Как связать собственную библиотеку и библиотеку JNI внутри JAR?

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

98
Как импортировать класс из пакета по умолчанию

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

92
Как я могу поймать SIGSEGV (ошибку сегментации) и получить трассировку стека под JNI на Android?

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

92
java.lang.UnsatisfiedLinkError no *****. dll в java.library.path

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

91
Вызов 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. */...

86
Как исправить ошибку UnsatisfiedLinkError (не удается найти зависимые библиотеки) в проекте JNI

Я работаю над проектом Java, который использует JNI. JNI вызывает пользовательскую библиотеку, которую я написал сам, скажем, mylib.dll, которая зависит от сторонней библиотеки libsndfile-1.dll. Когда я запускаю свою программу, она вылетает с java.lang.UnsatisfiedLinkError:...

18
Слишком низкое использование ЦП многопоточного Java-приложения в Windows

Я работаю над приложением Java для решения класса задач численной оптимизации - точнее, крупномасштабных задач линейного программирования. Отдельную проблему можно разбить на более мелкие подзадачи, которые можно решать параллельно. Поскольку существует больше подзадач, чем ядер ЦП, я использую...