tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
1898
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    chriss_2oo4 chriss_2oo4 ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    194
    Hi,

    hab schon wieder eine Frage Hab auch schon die Suche benutzt, komm aber nicht ganz klar.

    Ich hab mich den ganzen Vormittag damit beschäftigt, wie ich eine dll sinnvoll in mein VS2005 - C++ -Projekt einbinde.

    Ich hab gelesen, dass man die zugehörige .lib-Datei und .h-Datei einbinden kann und somit die Funktionen aus der DLL mit dllimport nutzen kann -> aber wo binde ich die beiden genannten Dateien ein -> englisches VS2005

    Wenn ich diese Dateien einbinde, werden diese dann in meine dll, die ich erzeuge eingebunden oder müssen die beim Benutzer auch immer zusätzlich die .h und .lib auf ihrem rechner haben?

    Des Weiteren gibt es die Möglichkeit eine DLL zur Laufzeit in die Anwendung einzubinden, ist aber doch nicht sonderlich effektiv wenn ich an verschiedenen Stellen in meinem Projekt immer wieder die gleiche DLL einbinden muss?


    Lg Chriss
     

  2. #2
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.500
    Hi

    1: Schreib im Quelltext einfach:
    #include<asd.h>
    #pragma comment(linker,"asd.lib")

    asd muss halt der Name der DLL sein, ausserdem sollten
    dll,lib und h im Gleichen Verzeichnis sein.

    Die lib-Datei bekommst du beim Kompilieren der DLL gleich dazu,
    die h-Datei musst du normalerweise selber schreiben,
    die enthält die Prototypen(Signaturen) von allen DLL-Funktionen.

    Wenn in der DLL also eine funktion
    int funk(char a); ist,
    dann schreibst du in die H-Datei:
    __declspec(dllimport) extern "C" int funk(char);
    immer mit diesem declspec etc am Anfang.
    Zur Erinnerung: Alle Funktionen in der DLL die du verwenden willst,
    müssen
    __declspec(dllexport)
    vorne haben

    Der Benutzer des Programms braucht beim Ausführen nur die DLL, lib und h sind dann überflüssig

    Laufzeit einbinden:
    Es ist möglich, wenn du Die Prototypen der Funktionen schon vorher weisst.
    Und du musst die DLL eigentlich nur einmal laden/entladen.

    googel nach LoadLibrary

    gruß
     

Ähnliche Themen

  1. OCX einbinden
    Von DerStauner im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 14.01.09, 22:39
  2. .bpl und .dll in .exe einbinden
    Von Asix im Forum Borland CBuilder und VCL
    Antworten: 5
    Letzter Beitrag: 11.01.09, 12:14
  3. .as einbinden
    Von EGJSoldier im Forum Flash Plattform
    Antworten: 7
    Letzter Beitrag: 15.12.08, 09:37
  4. DLL Einbinden?
    Von lordfritte im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 22.07.07, 19:22
  5. LMO in PHP-Kit einbinden
    Von Teaser im Forum PHP
    Antworten: 0
    Letzter Beitrag: 31.05.04, 11:44