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:55]
chappaai
jni [2008/04/14 22:38]
chappaai
Linia 1: Linia 1:
 ====== Java JNI i C++ ====== ====== Java JNI i C++ ======
 +Autor : Łukasz Mosdorf G1ISI 
 + ​--- ​
 +//​[[L.Mosdorf[eeeet]stud.elka.pw.edu.pl|Łukasz Mosdorf]] 2008/04/13 01:05//
  
 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  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 
Linia 21: Linia 24:
 -I"​c:​\j2sdk1.4.2_17\include\win32"​ -LD jni_pkg_Jni.cpp -FeJni_lib.dll''​ -I"​c:​\j2sdk1.4.2_17\include\win32"​ -LD jni_pkg_Jni.cpp -FeJni_lib.dll''​
 </​code>​ </​code>​
 +
 +Jeżeli powyższe polecenia nie dzialaja, należy dodać odpowienie ścieżki do zmiennej srodowiska Windows -  PATH.
 +Polecenie cl polecam uruchamiac z konsoli Visual Studio - nie mamy wtedy problemów z wskazywaniem lokalizacji dodatkowych plików nagłówkowych i bibliotek.
  
 ===== Kod Java ===== ===== Kod Java =====
Linia 322: Linia 328:
  /* Pobieramy ID pola klasy*/  /* Pobieramy ID pola klasy*/
  fid = env->​GetFieldID(cls,​ "​cppObjPtr",​ "​I"​);​  fid = env->​GetFieldID(cls,​ "​cppObjPtr",​ "​I"​);​
-    ​if (fid == NULL) {+        ​if (fid == NULL) {
         return (jint)1; /* nie udalo sie zdobyc id pola */         return (jint)1; /* nie udalo sie zdobyc id pola */
-    ​}+        ​}
   
  
jni.txt · ostatnio zmienione: 2008/04/16 23:55 przez chappaai