Einfaches Beispiel für cpp implementierung in Java?
-
Könnte mir jemand kurz und knackig erläutern, wie ich cpp files (.dll?) in Java nutzen kann?
Wie muss die cpp (.dll?) Datei aussehen?
Wie benutze ich JNI?
Kann ich mein Ziel so überhaupt umsetzen: Treiber(bzw. das Ansprechen der Schnittstelle) in cpp schreiben mit Java nutzen (Datenstream)? Wenn nicht, würden mich obige Fragen trotzdem interessieren ...
MFG John
-
Du schreibst 'ne Klasse in Java und machst einige Methoden "native" (d.h. gleichzeitig auch abstract (d.h. wiederum ohne echten Java-Code)).
Dann kompilierst Du das Ding und lässt javah (?) drüberlaufen.
Der schmeißt Dir 'ne *.h - Datei raus die sämtliche Methoden-Definition als C-Funktionen enthält.
Dazu kannst'e dann 'ne *.c oder *.cpp -Datei coden, die eine DLL repräsentiert, und kompilierst die.
Danach addest Du in Deine Java-Klasse im Konstruktor noch einen Class.forName("xx.dll"); Aufruf damit die DLL beim Erzeugen der Klasse geladen wird und kannst fortan sämtliche Java-native-Methoden wie gehabt aufrufen.
Ein "Steuern" bzw. generell eine Kommunikation kannst Du dann halt nur über derartige Methoden-Aufrufe erreichen. Du könntest Dir also ein vereinfachtes Messaging-System Java<-->CPP coden.
Übrigens kannst Du auch aus C-Code heraus eine JavaVM starten, Klassen laden und dort dann lustig Methoden von CPP aus aufrufen.
-
Jo Danke ich werde es mal versuchen, es wäre nett von dir ein kurzes Beispiel zu schreiben (z.B. ne Schleife, oder sowas, die in cpp gecoded ist, und deren Laufvariable ich in nem Javaprogramm ausgebe).
MFG John
-
man könnt auch kurz und knackig *g*
einfach mal im buch schaun:
http://www.galileocomputing.de/openbook/javainsel3/javainsel_230000.htm#Rxxjavainsel_230000256JavaNativeInterfaceJNI
-
Ja gut Idee :p Sieht nach dem aus, was ich suche ...