Java-dll in C++ einbinden



  • Hallo!

    Ich habe eine Java-DLL über die ich auf ein angeschlossenes USB-Gerät zugreifen kann. Nun würde ich diese DLL gerne aus C++ (Borland Builder 6) benutzen. Ist das möglich? Wenn ja wie?
    Ich hab's bereits mit dem implib-Tool versucht, aber das ist anscheinend nur für Visual C.

    Fällt jemand dazu was ein?
    XS-er



  • Hallo

    Die DLL muß ein C-Interface besitzen, dann kannst du die über die üblichen Mechanismen dynamisch einbinden. implib brauchst du nur um aus einer DLL eine .lib-Datei zu erzeugen, um die DLL statisch zu linken.
    Wenn die DLL kein C-Interface hat kannst du sie nicht in ein C++Projekt einbinden.

    bis bald
    akari



  • Hi

    Erstmal danke für deine schnelle Antwort!

    Weißt du was in so einem Interface steht? Kann man sowas selber schreiben? Welche Infos braucht man dafür? (Die Funktionsdeklaration - wie "void Funktionsname (CStr sn)" - hab ich.)

    Hast du eine gute Internetquelle für C-Interfaces? Beim googeln hab ich auf die schnelle keine Howto gefunden. 😞

    Bis dann
    XS-er



  • Hallo

    Nein das Interface muß in der DLL selber sein. Du kannst nicht einfach ein Interface bauen. Du könntest allenfalls einen Wrapper bauen, aber selbst dann müßte die DLL erstmal mit C++ zusammenarbeiten.

    "void Funktionsname (CStr sn)"

    Das sieht doch schon interessanter aus. Ich geh mal davon aus das der Typ CStr für C-String, also Nullterminierte Zeichenkette steht. Wenn dem so ist dann ist genau diese Sammlung von Funktionsdeklarationen das benötigte C-Interface.
    Weiter Anleitungen zum Einbinden der DLL findest du in diesem Tutorial.

    bis bald
    akari



  • Du mußt vermutlich mittels JNI einen Wrapper schreiben.


Anmelden zum Antworten