First page Back Continue Last page Overview Graphics
JNI 1
Rozhraní pro volání funkcí z jiných jazyků (c, c++)
- dříve používáno kvůli optimalizaci – dnes nevhodné!
- vytvoření Java rozhraní k existujícím knihovám
- zpřístupnění vlastností, které nejsou v Javě dostupné
- raw sockety, nízkoúrovňové programování, ...
- Vytvoření java třídy
- metody s modifikátorem native
- nahraní výsledné knihovny ve statickém inicializátoru
- System.load(fileName), System.loadLibrary(libName)
- Kompilace do .class (javac)
- Vygenerování hlavičkových souborů (javah -jni) – jni.h
- Implementace + kompilace do sdílené knihovny
- gcc -fPIC -shared -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux -o libname.so NameImpl.c
- cl -I %JAVA_HOME%\include -I %JAVA_HOME%\include\win32 -LD NameImpl.c -FeName.dll
- Pro spuštění sdílená knihovna přístupná
- LD_LIBRARY_PATH, -Djava.library.path, absolutní cesta v load()