Es geht weiter!

Nach fast einem Jahr Pause geht es nun weiter mit dem Projekt OctoAwesome! Das NoobDevTv-Team versucht wieder regelmäßig Donnerstags um 19 Uhr einen OctoAwesome-Stream auf den Streaming-Kanäle von NoobDevTv: Twitch, Youtube und Mixer. zu veranstalten! Die neu produzierten Folgen der nun dritten Staffel werden ab jetzt auf deren Youtube-Kanal veröffentlicht.

Programmbibliothek

Aus OctoAwesome Wiki
Wechseln zu: Navigation, Suche

Eine Programmbibliothek ist eine Datei in der Fertige Programmelemente, Funktionen oder Unterprogramme zusammengefasst sind. Man kann sich das wie eine Bibliothek in der Stadt vorstellen. Das Gebäude mit seinen Regalen entspricht der Datei die Bücher den Programmteilen darin. Programme können darauf zugreifen und diese Teile verwenden. Eine Programmbibliothek lässt sich nicht selbstständig ausführen und besitzt im Windowsumfeld meist die Endung .dll.

Formen

Eine Programmbibliothek muss nicht zwangsläufig immer eine einzelne Datei sein. Manchmal sind es einfach auch Dateiverzeichnisse, in die einzelne Teildateien geladen werden. Im Fall von .NET haben wir es aber eigentlich immer mit den zu einer Datei zusammengepackten Dateien zu tun. Eine Programmbibliothek kann aber auch in einer Datenbank liegen oder sogar in einzelne .exe Dateien aufgesplittet sein.

Statische Bibliothek

Bei einer Statischen Programmbibliotheken wird der Inhalt an die Anwendung beim Laden angehängt. Diese Funktion übernimmt der sogenannte Linker (Verknüpfer) er verbindet das aufgerufene Programm mit dem Maschinencode der Bibliothek. Moderne Linker erkennen zudem, was wirklich gebraucht wird, und verlinken nur die benötigten Bibliothekinhalte. Der Nachteil ist offensichtlich, die Programme werden größer weil jedes Programm, das die Bibliothek benötigt quasi eine Kopie davon erhält.

DLL (Dynamic Link Library)

Die sogenannte DLL (Dynamic Link Library) ist eine dynamische Programmbibliothek im Windowsumfeld. Das Schöne an den DLL's ist das sie diverse Komponenten enthalten können z. B. Daten, Maschinencode oder Ressourcen wie Bilder oder Texte. Dynamische Bibliotheken werden während der Laufzeit einer Anwendung geladen. Das übernimmt meist das Betriebssystem.

Der Vorteil ist, dass bei dynamischen Bibliotheken die Anwendung nur eine Referenz also einen Verweis auf die Bibliothek erhält und nicht den kompletten Inhalt kopieren muss. So wird vor allem Speicher beim Ausführen mehrerer Programme die auf dieselbe DLL zugreifen minimiert. Bei neueren Betriebssystemen wird darüber hinaus eine DLL erst dann geladen, wenn sie auch tatsächlich benötigt wird. Vor allem im .NET Umfeld geschieht dass. Nicht verwendete Teile werden auch wieder selbstständig aufgeräumt.

Quellen

Weblinks