@jnitool version 1.0
Это инструмент для генерации кода, предназначенный для упрощения взаимодействия между C++ и Java через JNI. Он позволяет легко преобразовывать пользовательские структуры данных Java в структуры C++. Инструмент обеспечивает централизованное управление доступом к пользовательским структурам Java, избегая необходимости повсеместного использования JNI для доступа к этим структурам.
Например, если вы измените имя или поля структуры Java, и не обновите соответствующие вызовы в C++, то компиляция пройдёт успешно, но во время выполнения могут возникнуть неожиданные ошибки. Однако, если использовать доступ к соответствующим структурам C++, при изменении структуры Java достаточно обновить структуру C++ с помощью инструмента (если необходимо внести изменения в не-примитивные типы или массивы). В этом случае, при компиляции других частей кода, ошибки будут возникать из-за неправильного доступа к полям структуры.
Для работы инструмента требуется установить JDK. Для удобства использования в командной строке, можно добавить путь к инструменту в переменные среды.
Использование: jnitool [опции] [пакет] класс
Эта программа вызывает команду javap. Убедитесь, что команда javap доступна в командной строке.
-classpath <каталог> — указать путь к каталогу с классами, без пробелов, по умолчанию используется текущий каталог.
-out <каталог> — задать выходной каталог, без пробелов, по умолчанию используется текущий каталог.
-help — вывести справку.
Пример:
jnitool -classpath e:\my_project\bin\com\cn -out e:\my_project\src Data
jnitool com.cn.Data
jnitool -help
Инструмент генерирует файлы с именами, соответствующими именам классов Java, например, Data.h и Data.cpp.
jstr = (*env)->GetObjectField( obj, fid);
str = (*env)->GetStringUTFChars(jstr, NULL);
if (str == NULL) {
return; /* out of memory */
}
(*env)->ReleaseStringUTFChars(jstr, str);
/* Create a new string and overwrite the instance field */
jstr = (*env)->NewStringUTF("123");
if (jstr == NULL) {
return; /* out of memory */
}
(*env)->SetObjectField(obj, fid, jstr);
После настройки переменных среды, перейдите в каталог example (в Windows можно открыть командную строку в каталоге example, нажав Shift+правый клик мыши), и запустите jnitool com.Point. Вы увидите сгенерированные файлы point.h и point.cpp.
Вы можете оставить обратную связь следующими способами:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )