Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Implementierung einer native Methode in C++

&pagelevel(4)&pagelevel

Die Implementierung in C++ ist weitestgehend mit dem Vorgehen bei der Implementierung in C identisch. Bei dem obigen Beispiel ergeben sich folgende Unterschiede:

Das Programm Hello.cpp wird nun folgendermaßen implementiert:

#include <jni.h>
#include "Hello.h"
#include <iostream.h>
#include <ascii_ebcdic.h>
#include <stdlib.h>
JNIEXPORT void JNICALL
Java_Hello_greetings(JNIEnv *env, jobject jthis, jstring text)
{
  char *ebcdic_text;
  const char *utf_text;
  utf_text = env->GetStringUTFChars(text,NULL);
  ebcdic_text = _a2e_dup(utf_text);
  env->ReleaseStringUTFChars(text,utf_text);
  cout <<  "Hier meldet sich das Programm " << ebcdic_text << endl;
  free(ebcdic_text);
}

Beim Compilieren ist statt des Kommandos cc das Kommando CC zu verwenden. Beim Erzeugen des Shared Objects muss das Flag cpp gesetzt werden:

mk_shobj -f cpp -l syslnk.example1 -m example1 libexample1.so