Różnice między wybraną wersją a wersją aktualną.
Next revision | Previous revision Next revision Both sides next revision | ||
jni [2008/04/13 00:18] chappaai utworzono |
jni [2008/04/13 00:43] chappaai |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
====== Java JNI i C++ ====== | ====== Java JNI i C++ ====== | ||
+ | |||
+ | Ta strona zawiera prosty przykład zastosowania Java Native Interface. Technologia ta pozwala łączyć kod Javy z kodem pisanym pisanym w językach specyficznych dla danej platformy. Potrzeba łączenia Javy z C++ zachodzi np gdy | ||
+ | * maszyna wirtualna nie jest w stanie zapewnić nam wystarczającej szybkości obliczeń | ||
+ | * Chcemy połączyć aplikację javy z juz istniejącym kawałkiem oprogramowania napisanego w C/C++ | ||
+ | ===== Uruchamianie ===== | ||
+ | Aby uruchomić przykładowy program wykorzystujący JNI należy: | ||
+ | * Utworzyć klasę (Javaclass.java), która deklaruje metodę natywną | ||
+ | * skompilowac tę klasę za pomocą polecenia 'javac' i w ten sposób otrzymać Javaclass.class | ||
+ | * uzyc javah -jni aby otrzymac plik naglowkowy, w oparciu o ktory napiszemy kod w C++ | ||
+ | * napisac kod w C++ | ||
+ | * skompilować kod do postaci biblioteki (*.dll pod Windows, *.so pod Solarisem) | ||
+ | * uruchomić program Javaclass | ||
+ | |||
+ | Przykladowa seria polecen potrzebna do kompilacji przykładu na platformie Windows: | ||
+ | |||
+ | |||
+ | ''javac .\jni_pkg\Jni.java | ||
+ | javah -jni jni_pkg.Jni | ||
+ | cl -I "c:\Program Files\Microsoft Visual Studio 9.0\VC\include" -I "c:\j2sdk1.4.2_17\include | ||
+ | -I"c:\j2sdk1.4.2_17\include\win32" -LD jni_pkg_Jni.cpp -FeJni_lib.dll'' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||