Programm mit DLL

  • Programm mit DLL

    Hallo!

    Ich wollte mich mal über die Grundzüge des DLLgebrauchs informieren. Bisher habei ch nur lückenhaft Dinge erfahren. Eine DLL soll also im prinzip wie eine exe sein, nur dass sie nicht ausführbar ist. Sind da denn Funktionen enthalten, die ich im Hauptprogramm verwenden kann? zB ich schreibe eine DLL mit der Funktion X. Kann ich dann im Hauptprogramm, der ausführbaren exe, die Funktion X benutzen? Oder machen die DLLs was ganz anderes..

    Jedenfalls wollte ich wenn ich das Wesen der DLL verstanden habe, ein Programm schreiben, dass eine DLL erfordert. Könnt ihr mir vielleicht eine sinnvolle Übungsaufgabe geben?

    Dank und Gruß,

    christian
  • Im Grunde ist deine Vorstellung richtig. DLLs sind dynamische Bibliotheken mit denen du ein paar Vorteile bei richtiger Benutzung erzielen kannst:
    - Erweiterbarkeit deines Programms mit PlugIns
    - Gemeinsame Nutzung von Programmteilen durch mehrere Programme ohne es doppelt zu schreiben.
    - Daraus folgt, das ein Update für eine fehlerhafte Funktion mehrere Programme patchen kann.

    DLLs sind kompilierte Dateien, die eine Exportliste beinhalten in der die Funktionen (und ihre Adressen), die nach außen Verwendbar sind stehen.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]
  • Cool, danke. Also wenn ich ein Hauptprogramm mit Plugins habe, dann kann ich einen check ausführen, ob eine bestimmte DLL da ist und jenachdem die Funktionen der DLL nutzen oder auch nicht.

    Gibts denn irgendwelche Faustregeln, welche Funktionen man in DLLs einbaut? Habe jetzt zuerst an Funktionen gedacht, deren Funktionsweise auf Daten beruht, die sich schnell ändern können. Somit könnte man schnell kleinere Updates rausbringen, die wenig Ladezeit und Traffic verursachen.
  • Es hängt ein wenig vom Programm ab, oftmals werden strukturell zusammenghörende Teile zusammen gepackt - ähnlich wie bei Units.

    Ein anderes Beispiel sind Sprachdateien. Da DLLs auch Resourcen (Strings, Grafiken, etc) enthalten können, wird in einigen Programmen DLLs verwendet um Multi-Language zu realisieren.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]