dll == include



  • HALLO
    Ich stelle mir immer wieder eine Frage vielleicht konnte man mir die beantworten ?
    Es geht um DLL und #include soweit ich die DLl verstehe man kann die statisch und dynamisch laden,
    und jetzt die Frage wenn ich die statisch lade dann binde ich doch die ganze DLL in mein Projekt ein so wie beim includen dh. das ganze wird in eine exe umgewandelt, oder wie ist es denn richtig ??
    Denn wen es so wirklich ist dann braucht man doch die DLL’s nicht statisch laden ??



  • statisch laden.
    Du bindes deine DLL nicht in die EXE ein. Das geht nur mit MFC-DLL.
    Wenn du eine DLL in deinem Projekt verwendest dann
    include der Headerdatei der DLL.
    Mitlinken der lib-Datei der dll.
    Nun sind deinem Projekt alle funktionen der DLL bekannt und du kannst sie verwenden.
    Die DLL wird dann bei Programmstart geladen oder es kommt eine Messagebox das die DLL nicht gefunden wurde.

    Dynamisch:
    Du bindest in dein Projekt nichts ein sondern verwendest den Source zum dynamischen Laden der DLL.

    Bei LoadLibrary musst du den Pfad der DLL angeben.



  • Nun sind deinem Projekt alle funktionen der DLL bekannt und du kannst sie verwenden.
    Die DLL wird dann bei Programmstart geladen oder es kommt eine Messagebox das die DLL nicht gefunden wurde

    Eben also kein Unterschied wie bei includen denn beim includen werden auch alle funktionen der Includedatein bekannt und man kann sie auch verwenden dh. ein großer Nachteil gegenüber dynamischen laden ??



  • Habe ich also recht ??



  • Wie bitte. Was willst du includen ?

    Was heißt Nachteil.
    Dynaisches laden von DLL macht man z.B. wenn man mehrere Sprachen zur laufzeit ändern möchte und dadurch eine andere DLL laden muss.
    Included werden nur die Headerdatein.
    Ist auch notwendig. Wie willst du sonst auf Funktionen der DLL zugreifen.

    Solltest mal genauer Erklären worauf du hinaus willst.



  • Solltest mal genauer Erklären worauf du hinaus willst.

    Vielen Dank die Frage hat sich schon geklärt


Anmelden zum Antworten