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.

In der allgemeinen Praxis wird eine Objektdatei mit einer Dateierweiterung ".obj" bezeichnet. Es gibt jedoch verschiedene Formate für diese Dateien. Am häufigsten sind das Intel® Relocatable -Objektmodulformat (OMF) und das Common -Object -Dateiformat (Coff) von Windows & Reg und UNIX® System V. In vielen Inix® -Systemen ersetzt das ausführbare und verknüpfbare Format (ELF) COFT.

Unabhängig vom Format enthält eine Objektdatei typischerweise drei TypinformationenDadurch können Sie mit anderen Programmmodulen interagieren. Verfahren und Daten, die für externe Referenz geöffnet sind, werden Namen zugewiesen, mit 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 hergestellt und sind nützlich, um häufig als Verfahren bezeichnete Verfahren zu speichern. Wenn ein Linker keine Referenz in anderen Objektdateien findet, sucht er automatisch in einer Bibliotheksdatei. Die meisten Implementierungen einer ProgrammierspracheKommen Sie mit einer Standardbibliothek von Funktionen.

Durch die dynamische Verknüpfung kann eine Objektdatei gleichzeitig von mehreren ausführenden Programmen verwendet werden. Anstatt Objektcode an ein Programm zu verbinden, wenn es verknüpft ist, wird es abgerufen, wenn das Programm geladen wird oder zur Laufzeit, wenn auf eine Prozedur verwiesen wird. In der Windows® -Umgebung werden diese als dynamische Linkbibliotheken bezeichnet und mit einer ".dll" -Einweiterung bezeichnet. Systeme ähnlich wie bei UNIX® sind diese Art von Datei häufig ein dynamisches gemeinsam genutztes Objekt (DSO). Diese Art von Objektdatei kann auch zur Verwendung mit einem bestimmten Programm implementiert werden und wäre Teil der Installation dieses Programms.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?