JAVAH



  • Hallo Zusammen,

    das Java-Tool "Javah" wird im Zusammenhang mit dem JNI und dem Zugriff auf Funktionen innerhalb einer DLL benötigt. Ich versuche jetzt seit heute Morgen meine DLL zu laden und meine Funktion "HelloWorld" aufzurufen. Bis jetzt habe ich es zumindest geschafft, dass Java meine Library lädt. Es hapert noch mit dem Funktionsaufruf. Ich vermute mal, dass der Funktionsname in meiner Bibliothek nicht den Aufbau hat, wie das JNI es erwartet. Das Tool JAVAH gibt hierüber doch Auskunft , oder? Also: Wo ist dieses Tool integriert (JRE/SDK) und wie kann ich feststellen, ob es installiert ist (ich habe hier schon einiges ausprobiert, aber leider ohne Erfolg)? Gibt es ein Tutorial oder andere Quellen, die mir sagen, wie ich mit dem JAVAH-Tool umgehen muss?

    Könnt Ihr mir bitte helfen, damit ich hier weiterkomme 🙂 Das wäre sehr nett. Ansonsten wünsche ich Allen Forumsmitgliedern ein schönes Weihnachtsfest und einen guten Rutsch ins Jahr 2005. 🙂

    Viele Grüsse

    Oliver



  • Auch wenn's schon 1000 Mal erklärt wurde hier:

    Du deklarierst in Deinen Klassen auszulagernde Methoden mit "native":

    public native boolean ZeigsMir(int irgendnezahl);

    Dann lässt Du javah drüber laufen:

    javah meineklasse.class

    (javah ist natürlich wie javac beim JDK bei)

    Dieses erzeugt Dir 'ne C-Header-Datei meineklasse.h

    Diese bindest Du in ein C/C++-Projekt ein und schreibst 'nen Funktionsrumpf zu der ZeigsMir-Methode.
    Darfst keine EXE sondern 'ne DLL kompilieren.

    Die packst Du dann in den Java-Library-Path und kannst dann von Java sie aufrufen. 💡


Anmelden zum Antworten