Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
jni [2008/04/13 01:02] chappaai |
jni [2008/04/16 23:54] 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 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ń | * 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++ | * Chcemy połączyć aplikację javy z juz istniejącym kawałkiem oprogramowania napisanego w C/C++ | ||
Linia 8: | Linia 11: | ||
* Utworzyć klasę (Javaclass.java), która deklaruje metodę natywną | * Utworzyć klasę (Javaclass.java), która deklaruje metodę natywną | ||
* skompilowac tę klasę za pomocą polecenia 'javac' i w ten sposób otrzymać Javaclass.class | * 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++ | + | * uzyc javah -jni aby otrzymac plik naglowkowy, w oparciu o który napiszemy kod w C++ |
- | * napisac kod w C++ | + | * napisać kod w C++ |
* skompilować kod do postaci biblioteki (*.dll pod Windows, *.so pod Solarisem) | * skompilować kod do postaci biblioteki (*.dll pod Windows, *.so pod Solarisem) | ||
* uruchomić program Javaclass | * uruchomić program Javaclass | ||
- | Przykladowa seria polecen potrzebna do kompilacji przykładu na platformie Windows: | + | Przykładowa seria poleceń potrzebna do kompilacji przykładu na platformie Windows: |
<code cpp> | <code cpp> |