Для чего нужна библиотека Java libjli?
Я использую JNI, чтобы позволить коду C разгрузить некоторую работу, лучше всего выполненную в Java. В этом вопросе я пытался связать библиотеки libjvm и libjli, чтобы мой код работал, но теперь я задаюсь вопросом, нужна ли мне вообще библиотека JLI.
Я не могу найти документацию, в которой четко указано, для чего предназначена библиотека JLI.
Этот другой вопрос SO намекает на то, что JLI - это некоторая библиотека OSX:
#elif defined(__APPLE__)
// jli needs to be loaded on OSX because otherwise the OS tries to run the system Java
Как и этот блог:
При компиляции в OS X очень важно связать библиотеку jli перед библиотекой jvm
Мои вопросы:
- Для чего нужна библиотека JLI?
- Нужно ли это для разработки C / Java JNI в средах только с RedHat/CentOS (без OSX)?
0 ответов
Для чего нужна библиотека JLI?
В libjli.so
содержит интерфейс запуска для подготовки аргументов, передаваемых в командной строке, и запуска виртуальной машины с ними.
Программа запуска main.c - это основная точка входа во все программы Java. Он подготавливает аргументы командной строки C и передает их вJLI_Launch
функция, которая выполняет синтаксический анализ аргументов, загружая виртуальную машину изlibjvm.so
, разветвляя первичный поток и затем передавая управление JVM.
Нужен ли он мне для разработки C/Java JNI в средах только RedHat/CentOS (без OSX)?
Очень маловероятно. Если вам нужно, вы, вероятно, делаете что-то не так. По крайней мере, я не могу представить себе какой-либо полезный общий вариант использования.