2017-03-11 2 views
0

Ich habe .Net DLL, muss ich mit DLL von Java interagieren. Wie generiert man automatisch Java-Wrapper-Klassen? Ist jni plattformspezifisch? Gibt es ein spezielles Tool, das automatisch Java-Klassen generiert, die .Net-DLL analysieren.Generieren Sie Java Wrapper Klassen automatisch aus. NET DLL

Vielen Dank im Voraus.

+0

Es gibt die https://github.com/nativelibs4java/JNAerator, die Bindungen für C, C++, aber nicht für .NET generieren können. – Lonzak

Antwort

0

Nach meinem Wissen gibt es keine Möglichkeit, mit managed code (d. H. .NET) zu verbinden, wenn Sie die Java Native Interface (JNI) -Tools verwenden, die mit dem Java Development Kit (JDK) gepackt sind.

JNI ist nicht plattformspezifisch, aber Sie benötigen nicht verwalteten/nativen Code (d. H. C++, ich habe C noch nicht ausprobiert) mit einer bestimmten Syntax für den Zugriff auf die Funktionen von Java.

Wenn Sie daran interessiert sind, mit JNI zu arbeiten, sollten Sie in Erwägung ziehen, this specification from Oracle zu lesen.

+0

Dank Daniel. Wo kann ich ein Beispiel für eine jni-Implementierung erhalten? Was ist mit Jacob? –

+0

Hier ist ein JNI-Beispiel. Es zeigt, wie die Signatur einer C/C++ - Funktion aussehen muss: https://blogs.oracle.com/moonocean/entry/a_simple_example_of_jni Jacob ist eine Java/COM-Bridge, über die Sie mit COM-Objekten kommunizieren können (z. B. die Excel-API), wenn Sie nur mit COM herumspielen möchten, können Sie Jacob verwenden und sich nicht um JNI kümmern. – Daniel

Verwandte Themen