Common Object File Format
Das Common Object File Format (COFF; deutsch allgemeines Objektdateiformat) ist ein Binärformat für Programme und Objektdateien. Es wurde von AT&T für Unix System V-Systeme eingeführt[1] und findet heutzutage vor allem für Windows Verwendung. Für Dateiendungen wird es gerne als COF, OBJ oder .LIB abgekürzt. Auch die GNU Compiler Collection beherrscht dieses Format und nutzt es insbesondere für Cygwin-Targets.
Geschichte
Ursprünglich wurde das a.out Format für ausführbare Dateien unter Unix verwendet. Dieses unterstützte jedoch moderne Entwicklungen wie eingebettete Debugging-Informationen oder dynamische Bibliotheken nicht mehr. Deshalb fügte AT&T dem Release 3 vom Unix System V Unterstützung für das Common Object File Format hinzu. Dadurch wurden unter System V erstmals dynamische Bibliotheken ermöglicht. [2] Da das Originale COFF designtechnich beschränkt war, entwickelten sich unterschiedliche Dialekte unter den Unix Herstellern (z.B. XCOFF in AIX von IBM[3], ECOFF von SGI und anderen). Mit dem Release 4 von System V im Jahre 1989 ersetzte AT&T COFF durch ELF[4]. Moderne Unix und Linux Systemen unterstützt COFF nicht mehr, allerdings wird es für Eingebettete Systeme noch verwendet[5]. Unter Windows NT war COFF von Anfang an das Standard Dateiformat für Bibliotheken und ausführbare Dateien. Allerdings unterscheidet sich der Windows-Dialekt Portable Executable (PE) (manchmal auch PE/COFF) geringfügig von COFF.[6]
Einzelnachweise
- ↑ Common Object File Format Texas Instuments, Aufegrufen am 8. März 2014
- ↑ Overview over SCO System V Release 3 HP, Aufgerufen am 8. März 2014
- ↑ XCOFF Object File Format IBM, Aufgerufen am 8. März 2013
- ↑ Object File / Symbol Table Format Specification Compaq/HP, Aufgerufen am 8. März 2014
- ↑ Typer of Executable Linux.org, Aufgerufen am 8. März 2014
- ↑ PE and COFF Specification Microsodt, Aufgerufen am 8. März 2014
Weblinks
Vorlage:Navigationsleiste ausführbare Binär- und Objekt-Formate