Was ist eine statische Bibliothek?
Eine statische Bibliothek ist ein Computerarchiv, das eine Gruppe zusammengehöriger Dateien zum einfachen Verknüpfen mit Programmen enthält. Der Inhalt dieser Bibliothek besteht normalerweise aus Maschinencodedateien, die von Menschen nicht gelesen werden können. Diese Maschinencodedateien werden normalerweise aus der Codekompilierung oder einem ähnlichen Prozess generiert. Die meisten Betriebssysteme verfügen über Standarderweiterungen für statische Bibliotheken, sodass sie unabhängig von Größe oder Inhalt leicht identifiziert werden können.
Die zwei verschiedenen Arten von Computer-Bibliotheken sind statisch und dynamisch. Eine statische Bibliothek ist flexibler als eine dynamische Bibliothek, da der genaue Pfad für die ausführbare Datei, die sie verwendet, nicht relevant ist. Statische Bibliotheken werden zu einer ausführbaren Datei verknüpft und können bei Bedarf gelöscht werden, da ihr Inhalt in das endgültige Programm aufgenommen wurde. Eine dynamische Bibliothek kann nicht gelöscht werden, da ihr Inhalt während der Ausführung der ausführbaren Datei geladen wird. Daher sind die Positionen relativ zur ausführbaren Datei und im Betriebssystem wichtig. Durch die statische Verknüpfung kann eine Bibliothek verschoben oder wiederverwendet werden, ohne dass absolute Standortpfade berücksichtigt werden müssen.
Im Gegensatz zu einer dynamischen Bibliothek ist eine statische Bibliothek normalerweise nicht eigenständig ausführbar. In C ++ verhalten sich statische Bibliotheken häufig wie große Objektdateien. Sie können auf die gleiche Weise wie Objektdateien zu ausführbaren Dateien verknüpft und anschließend gelöscht werden, ohne das Programm zu beeinträchtigen. Obwohl es häufig möglich ist, auf eine statische Bibliothek zu verzichten, sind sie häufig organisatorisch nützlich. Sowohl für Benutzer als auch für Entwickler ist es normalerweise einfacher, eine einzelne Datei mit verwandtem Material zu haben, als viele kleine Dateien. Viele Entwickler erstellen statische Bibliotheken speziell für diesen organisatorischen Vorteil.
Das Erstellen einer statischen Bibliothek ist viel einfacher als das Erstellen einer dynamischen Bibliothek. Die Inhalte von statischen Bibliotheken sind nicht miteinander verknüpft, da nicht erwartet wird, dass sie selbstständig ausgeführt werden. Daher reicht in der Regel ein einfacher Archivierer aus, um sie zu erstellen. Das Erstellen einer statischen Bibliothek, die keine ordnungsgemäße Verknüpfung in sich selbst herstellt, ist nicht von Natur aus gefährlich, solange die Bibliothek mit anderen externen Dateien verknüpft ist, die möglicherweise erforderlich sind. Eine Bibliothek kann von einer externen Gruppe von Objektdateien abhängen, oder eine Bibliothek kann von einer anderen abhängen. Die Verwendung und Organisation von statischen Bibliotheken ist häufig eine persönliche Entscheidung des Programmierers und keine Voraussetzung, obwohl ihre inhärente Mobilität sie häufig zu einer erstrebenswerten Wahl macht.