Narzędzia użytkownika

Narzędzia witryny


jni

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
jni [2008/04/13 00:21]
chappaai
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ń.+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''​ 
 + 
 + 
 + 
 + 
 + 
 + 
  
  
jni.txt · ostatnio zmienione: 2008/04/16 23:55 przez chappaai