Ab wann macht eine dll wirklich sinn?



  • Hallo,

    ich weiß das dll dynamische Bibs sind, und diese dafür verwendet werden um die programm klein zu halten, das sie nicht so viel Arbeitsspeicher benötigen und das man bei patches vielleicht nur die dll austauschen muss... was ja leichter ist..

    Aber ich frag mich gerade ab wann macht eine dll wirklich sinn? Ich habe schon programme geschrieben wo die exe 5mb hat. Wenn ich da manche Klassen in eine dll auslagere, wird das programm dann merkbar schneller oder wie genau ist das?

    Leider kenne ich mich bezüglich dlls nicht wirklich aus und möchte mich hier etwas einarbeiten.

    Danke für jede Antwort.
    Gruß
    Max



  • Ich verwendete DLL'a z.B. immer dann, wenn ich eine Software durch Plugins erweiterbar machen möchte.
    Als Beispiel auch mein letztes Projekt: Ein Prozess Daten Server, der Server verwaltet die angemeldeten Clients, welche aus SPS- Anlagen Daten auslesen bzw. Daten dort hinschreiben können. Die Kommunikation zu den SPS'en erfolgt über unterschiedliche Bussysteme, die dafür nötige Ansteuerung ist in DLL's ausgelagert.
    Der Vorteil liegt darin, das bei Erweiterung auf ein neues Bussystem nur diese DLL erstellt werden muss, die dann in den Server dynamisch eingebunden wird. 😉



  • Hallo

    Mal ein paar Klarstellungen :
    - Klassen können nur in statischen DLLs verwendet werden, nicht in dynamischen
    - DLLs machen Projekte weder schneller noch insgesamt kleiner noch speicherschonender

    DLLs haben folgende Vorteile
    - Modularisierung : Aufteilung in logische Teile, die möglichst unabhängig voneinander existieren können. Potentiel verständlicher und leichter wartbarer als ein großer Haufen Quellcode
    - Austauschbarkeit : DLLs bieten die Möglichkeit Funktionalität auszutauschen und zu erweitern, wie schon angesprochen für Plugins
    - Wiederverwendbarkeit : Eine DLLs kann ihre Funktionen mehreren verschiedenen Programmen bereitstellen. Die DLL muß nur einmal vorhanden sein.
    - Umgebungsneutralität : Eine DLL mit reinen C-Interface kann von fast jeder Entwicklungsumgebung verwendet werden, egal welche Sprachen verwendet werden. Dadurch kann man die Funktionalität einer Entwicklungsumgebung/Sprache auch einer anderen zugänglich machen, die nicht nativ darüber verfügt.

    bis bald
    akari



  • Alles klar, danke euch.

    Vorerst werde ich dann wohl keine eigenen dlls benötigen...

    Gruß



  • aus wiki:

    Der Zweck von DLL-Dateien ist, den von einer Anwendung auf der Festplatte und im Hauptspeicher benötigten Speicherplatz zu reduzieren.

    Dann ist damit wohl der durch die Mehrfachanwendung von dlls reduzierter Speicherplatz gemeint.


Log in to reply