Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2008, 02:48   #1
lexluther
Пользователь
 
Регистрация: 29.11.2006
Сообщений: 24
По умолчанию Технология JNI, не работает пример :(

Всем привет,

Занялся изучением технологии JNI и столкнулся с проблемой. Мой пример не работает хотя код написан по всем правилам.

Код C++ библиотеки сгенерированный при помощи javah:

#include <windows.h>
#include <jni.h>

extern "C" JNIEXPORT void JNICALL Java_MyJavaPackage_NextLevelClass_S howCall(JNIEnv *, jobject);

И

#include "MyJavaPackage_NextLevelClass.h "

extern "C" JNIEXPORT void JNICALL Java_MyJavaPackage_NextLevelClass_S howCall
(JNIEnv *, jobject)
{
MessageBox(NULL,"TEST","TEST",MB_OK );
}

Есть класс в котором я определил внешний нейтивный метод:

package MyJavaPackage;

public class NextLevelClass{

static {
try{
System.load("G:\\Documents and Settings\\artiom\\My Documents\\NetBeansProjects\\MyDesk topApplication\\dist\\lib\\MyDynami cLibrary.dll");
}
catch(UnsatisfiedLinkError g)
{
System.out.print(g.getMessage() + " LIBRARY EXCEPTION");
}
}

private static native void ShowCall();

public void GiveIt()
{
try{
ShowCall();
}
catch(UnsatisfiedLinkError g)
{
System.out.print(g.getMessage() + " METHOD EXCEPTION\n");
}
}
}

Сам код в вызывающей программе выглядит следующим образом:

NextLevelClass NLC1 = new NextLevelClass();

NLC1.GiveIt();

В результате при выполнении библиотека сама загружается идеально, но при вызове метода ShowCall возникает исключение UnsatisfiedLinkError. Подскажите пожалуйста в чем может быть проблема?

Версия ОС:
Windows XP Service Pack 3

Версия JAVA (java -version):
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

Среда разработки (About окно):
Product Version: NetBeans IDE 6.1 (Build 200805300101)
Java: 1.6.0; Java HotSpot(TM) Client VM 1.6.0-b105
System: Windows XP version 5.1 running on x86; Cp1251; uk_UA (nb)
Userdir: G:\Documents and Settings\artiom\.netbeans\6.1
lexluther вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Технология JPG NoName_emaNoN Мультимедиа в Delphi 36 12.01.2009 20:09
Проблема с UserForm. То работает, то НЕ работает Maxx Microsoft Office Excel 6 19.11.2008 14:51
технология COM DM_bite Общие вопросы Delphi 5 01.08.2008 10:27