Interkompatibilität von Programmiersprachen

Werbung
Interkompatibilität von Programmiersprachen
Java Native Interface
Seminar aus Informatik
SS2012
Christian Sesser, BSc
Salzburg, 02.07.2012
Java Native Interface (JNI)
Vor- und Nachteile
• Pros
– Funktionalität der std API wird erweitert
– JNI bietet bietet Interkompatibilität in beide
Richtungen (JVM Native, Native JVM)
• Cons
– Destabilisierung der JVM bei schlechter
Programmierung
– Nativer Teil ist Plattformabhängig
– Nativer Teil hat keinen Garbage Collector
– Keine Typen-Sicherheit und –prüfung
Vorgehen mit JNI
Vorgehen mit JNI
...
static native int process(String message, MyObject mObj);
static{
System.loadLibrary("print");
}
...
JNIEXPORT void JNICALL
Java_HelloWorld_print (JNIEnv *, jobject);
#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("Hello World!\n");
return;
}
JNI Grundlagen
JNIEXPORT void JNICALL Java_ClassName_MethodName
(JNIEnv *env, jobject obj)
{
/*Implement Native Method Here*/
}
Datentypen
Garbage Collector
Herunterladen