Skip to main content

Was ist eine Objektdatei?

Eine Objektdatei ist eine Computerdatei, die von einem Programm namens Compiler generiert wird und Daten sowie Anweisungen enthält.Compiler übersetzen Programmiersprach-Quellcode in ein intermediates maschinelles Lesbares, das als Objektcode bezeichnet wird.Kleinere Programme können in einer einzelnen Objektdatei kompiliert werden, während größere Programme normalerweise in mehreren Dateien mit verwandten Funktionen zusammengestellt werden.Diese einzelnen Objektdateien werden von einem Linker verbunden, und das Betriebssystemspezifische Informationen werden hinzugefügt, um ein ausführbares Programm zu bilden.

Bei allgemeiner Praxis wird eine Objektdatei mit einer .obj -Dateierweiterung bezeichnet.Es gibt jedoch verschiedene Formate für diese Dateien.Am häufigsten sind die Intel Umlaufbares Objektmodulformat (OMF) und das Common -Object -Dateiformat (Süte) von Windows Reg und Unix System V. In vielen Inix Systeme, ausführbares und verknüpfbares Format (ELF) ersetzt Coff.

Unabhängig vom Format enthält eine Objektdatei normalerweise drei Typen, mit denen sie mit anderen Programmmodulen interagieren können.Verfahren und Daten, die für externe Referenz geöffnet sind, werden Namen zugewiesen, nach denen sie aus anderen Modulen aufgerufen werden können.In ähnlicher Weise werden Verweise auf Informationen außerhalb des Moduls festgestellt, aber keinen Namen zugewiesen.Wenn die Dateien verknüpft sind, erhalten den nicht genannten Referenzen den Namen im Modul, in dem sie ursprünglich definiert wurden.Lokale Namen werden für Anweisungen und Daten verwendet, auf die sich ausschließlich innerhalb eines Moduls bezeichnet.

Nicht alle verknüpfbaren Code werden als Objektdateien gespeichert.Bibliotheken sind Sammlungen von vorkompilierten Routinen, die als Objektcode gespeichert werden.Sie werden in ähnlicher Weise wie Objektdateien produziert und sind nützlich, um häufig als Prozeduren bezeichnete Verfahren zu speichern.Wenn ein Linker keine Referenz in anderen Objektdateien findet, sucht er automatisch in einer Bibliotheksdatei.Die meisten Implementierungen einer Programmiersprache sind mit einer Standardbibliothek von Funktionen ausgestattet.

Durch dynamische Verknüpfung kann eine Objektdatei gleichzeitig von mehreren Ausführungsprogrammen verwendet werden.Anstatt Objektcode an ein Programm zu verbinden, wenn es verlinkt wird, wird es abgerufen, wenn das Programm geladen wird, oder zur Laufzeit, wenn auf eine Prozedur verwiesen wird.In den Fenstern Umgebung, diese werden als dynamische Verbindungsbibliotheken bezeichnet und mit einer .dll -Erweiterung bezeichnet.Systeme ähnlich wie UNIX Oft bezeichnen Sie diese Art von Datei ein dynamisches gemeinsam genutztes Objekt (DSO).Diese Art von Objektdatei kann auch zur Verwendung mit einem bestimmten Programm implementiert werden und wäre Teil dieser Programminstallation.