|
|
|
как загрузить библиотеку dll и использовать ее методы
|
|||
|---|---|---|---|
|
#18+
Серверная часть написана на С++, клиент который подключается пишем на java. используем JNI Вот код подключения public class Example { public static void main(String[] args) { SystemSpecific ss = new SystemSpecific(); try { ss.LibraryVersion(); } catch (UnsatisfiedLinkError e) { System.out.println("метод не найден (" + e + ")"); } } static class SystemSpecific { static { try { System.loadLibrary("eVendorLib"); } catch (UnsatisfiedLinkError e) { System.out.println("библиотека не найдена (" + e + ")"); } } public native int LibraryVersion(); } } библиотеку подгружвет, а вот метод не видит( Подскажите, пожалуйста как исправить это? и ещё может кто подскажет если на си написано такой метод int OpenConnection(char *pcIP, char *pcUserName, char *pcPassword); как этот метод использовать на java если нет такой структцры данных как char * .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 19:21 |
|
||
|
как загрузить библиотеку dll и использовать ее методы
|
|||
|---|---|---|---|
|
#18+
библиотеку подгружвет, а вот метод не видит Какой видишь exception? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 19:25 |
|
||
|
как загрузить библиотеку dll и использовать ее методы
|
|||
|---|---|---|---|
|
#18+
javist23 , Что бы вы смолги вызвать этот метод, вы должны либо создать для него хедер через javah, а потом заимлементировать этот хэдер в вашей нативной библиотеке. Либо же из натива дернуть метод registerNatives, и зарегистрировать метод там. В любом случае, вы не можете вызывать абы что из Java. Вы должны строго следовать формату JNI по части сигнатур функций. Методы вида "int OpenConnection(char *pcIP, char *pcUserName, char *pcPassword)" напрямую из Java вызывать нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2014, 19:52 |
|
||
|
как загрузить библиотеку dll и использовать ее методы
|
|||
|---|---|---|---|
|
#18+
cdtyjv Методы вида "int OpenConnection(char *pcIP, char *pcUserName, char *pcPassword)" напрямую из Java вызывать нельзя. Но если очень хочется, то можно . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 09:14 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38761179&tid=2126516]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
151ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 474ms |

| 0 / 0 |
