JNI Проблема с вызовом функции на С из Java кода

340
24 января 2017, 22:19

Здравствуйте, мне необходимо из java кода вызвать функции, реализованные на С/C++. Как добиться того, чтобы сохранялась вызываемая последовательность действий?
Например, есть класс JniTest, в котором объявлена нативная функция showString().
'

public class JniTest    
{    
static  {
    try {    
        System.loadLibrary("JniTest" + 
System.getProperty("sun.arch.data.model"));
    } catch (UnsatisfiedLinkError e) {
        System.out.println("библиотека не найдена (" + e + ")");
    }
}
// обращаем внимание на слово native
public native void showString();
}'    

Затем вызываю эту функцию в коде:

'

JniTest SS = new JniTest();
    try {
        System.out.println("1");
        SS.showString();
        System.out.println("2");
    }
    catch (UnsatisfiedLinkError e) {
        System.out.println("метод не найден (" + e + ")");
    }'    

В итоге получается, что на консоли я вижу:
1
2
результат выполнения функции

Хотя я ожидаю и хочу следующую последовательность:
1
результат выполнения функции
2
Наверняка, многие, кто разбирался с JNI, сталкивался с этой проблемой. Может быть подскажете какие-нибудь пути решения данной проблемы?

READ ALSO
Java, Android: создание видео из набора фотографий и аудиозаписи

Java, Android: создание видео из набора фотографий и аудиозаписи

Есть 38 фотографийИзвестен промежуток времени между каждой фотографией (в миллисекундах), когда и какая была сфотографирована

290
Как отобразить в браузере xml файл большого размера

Как отобразить в браузере xml файл большого размера

Доброго времени суток! Подскажите, кто сталкивался: с помощью чего можно отобразить в браузере xml файл на много тысяч строк? Отобразить в виде...

518
Проверяемые исключения 2. А смысл?

Проверяемые исключения 2. А смысл?

Вопрос навеян вот этим вопросомТам мне все советуют преобразовать проверяемое исключение в непроверяемое

312
Сохранение контента(pdf,html,txt) в MySQL

Сохранение контента(pdf,html,txt) в MySQL

Каким образом можно хранить контент различного формата(pdf,html,txt) в БД, субд - MySQL, язык программирования - JavaФайлы изначально должны хранится...

333