Запитання з тегом «java-native-interface»

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

7
Будь-який простий спосіб входу в код Android NDK?
Я шукаю спосіб легко налагодити код C в додатку Android NDK за допомогою Eclipse. Я читав способи налагодження програми за допомогою gdb або чогось подібного, але те, що я хочу, це спосіб якось надсилати повідомлення до Eclipse. Я шукаю рішення, настільки просте, як використання функції друку на мові C та …

6
JNI та Gradle в Android Studio
Я намагаюся додати власний код у свій додаток. У мене все, ../main/jniяк і в моєму проекті Eclipse. Я додав ndk.dir=...до свого local.properties. Я ще нічого не робив (я не впевнений, що ще потрібно насправді, тому якщо я щось пропустив, дайте мені знати). Коли я намагаюся побудувати, я отримую цю помилку: …

2
Як отримати вказівник інтерфейсу JNI (JNIEnv *) для асинхронних викликів
Я дізнався, що покажчик інтерфейсу JNI (JNIEnv *) дійсний лише в поточному потоці. Припустимо, я розпочав новий потік всередині власного методу; як він може асинхронно надсилати події до методу Java? Оскільки цей новий потік не може мати посилання на (JNIEnv *). Зберігання глобальної змінної для (JNIEnv *), мабуть, не буде …

1
Чи слід викликати ReleaseStringUTFChars, якщо GetStringUTFChars повернув копію?
Книга "Essential JNI: Java Native Interface" Роба Гордона містить наступний приклад коду для перетворення jstring у рядок C: const char* utf_string; jboolean isCopy; utf_string = env->GetStringUTFChars(str, &isCopy); /* ... use string ... */ if (isCopy == JNI_TRUE) { env->ReleaseStringUTFChars(str, utf_string); } Зверніть увагу, що він дзвонить, лише ReleaseStringUTFCharsякщо isCopyістина. Але …

4
Занадто низьке використання процесора багатопотокової програми Java для Windows
Я працюю над додатком Java для вирішення класу задач з числовою оптимізацією - більш точні проблеми лінійного програмування. Одну проблему можна розділити на менші підпрограми, які можна вирішити паралельно. Оскільки є більше підпроблем, ніж ядер CPU, я використовую ExecutorService і визначаю кожну підпроблему як Callable, який надсилається до ExecutorService. Розв’язання …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.