Examine individual changes
This page allows you to examine the variables generated by the Edit Filter for an individual change.
Variables generated for this change
Variable | Value |
---|---|
Whether or not the edit is marked as minor (no longer in use) (minor_edit ) | false |
Name of the user account (user_name ) | '39.36.204.89' |
Whether or not a user is editing through the mobile interface (user_mobile ) | false |
Page ID (page_id ) | 20560995 |
Page namespace (page_namespace ) | 0 |
Page title without namespace (page_title ) | 'Comparison of executable file formats' |
Full page title (page_prefixedtitle ) | 'Comparison of executable file formats' |
Action (action ) | 'edit' |
Edit summary/reason (summary ) | '' |
Old content model (old_content_model ) | 'wikitext' |
New content model (new_content_model ) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext ) | '{{Use dmy dates|date=December 2014}}
This is a comparison of binary [[executable]] [[file format]]s which, once loaded by a suitable executable [[Loader (computing)|loader]], can be directly executed by the CPU rather than become interpreted by software. In addition to the binary application code, the executables may contain headers and tables with relocation and fixup information as well as various kinds of meta data. Among those formats listed, the ones in most common use are [[Portable Executable|PE]] (on [[Microsoft Windows]]), [[Executable and Linkable Format|ELF]] (on [[Linux]] and most other versions of [[Unix]]), [[Mach-O]] (on [[macOS]] and [[iOS]]) and [[DOS MZ executable|MZ]] (on [[DOS]]).
{| class="wikitable sortable"
|-
! scope="col" | Format name
! scope="col" | Operating system
! scope="col" | [[Filename extension]]
! scope="col" | Explicit processor declarations
! scope="col" | Arbitrary [[memory segmentation|sections]]
! scope="col" | [[Metadata]]{{efn|name=metadata}}
! scope="col" | [[Code signing|Digital signature]]
! scope="col" | [[String (computer science)|String table]]
! scope="col" | [[Symbol table]]
! scope="col" | [[64-bit]]
! scope="col" | [[Fat binary|Fat binaries]]
! scope="col" | Can contain [[Icon (computing)|icon]]
|-
! scope="row" | [[OS/360 Object File Format|OS/360]]
| [[OS/360]] and [[VS/9]] mainframe systems
| style="text-align: center;" | none
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
|-
! scope="row" | [[a.out]]
| [[Unix-like]]
| style="text-align: center;" | none
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}<ref name=aout>{{cite web|url=http://www.freebsd.org/cgi/man.cgi?query=a.out&sektion=5 |title=a.out(5) - FreeBSD Man Pages |publisher=Freebsd.org |date=10 June 2010 |accessdate=9 July 2012}}</ref>
| {{Yes}}<ref name=aout />
| {{Some|Extension}}
| {{No}}
| {{No}}
|-
! scope="row" | [[COFF]]
| [[Unix-like]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Some|Extension}}
| {{No}}
| {{No}}
|-
! scope="row" | [[ECOFF]]
| [[Ultrix]], [[Tru64 UNIX]], [[IRIX]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
|-
! scope="row" | [[XCOFF]]
| [[IBM AIX]], [[BeOS]], [[Classic Mac OS|"classic" Mac OS]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}<ref>{{cite web|url=http://pic.dhe.ibm.com/infocenter/aix/v7r1/topic/com.ibm.aix.files/doc/aixfiles/XCOFF.htm|title=Files Reference – XCOFF Object File Format|publisher=IBM}}</ref>
| {{Yes}}
| {{No}}
| {{No}}
|-
! scope="row" | [[Executable and Linkable Format|ELF]]
| [[Unix-like]], [[OpenVMS]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{Yes}}
| {{Yes}}
| {{Yes}}<ref>{{cite web|url=http://freshmeat.net/projects/elfsign/ |title=elfsign – Freecode |publisher=Freshmeat.net |date= |accessdate=9 July 2012}}</ref>
| {{Yes}}
| {{Yes}}<ref name=3elf>{{cite web|url=http://uw714doc.sco.com/en/man/html.3elf/elf_getarsym.3elf.html |title=(3elf) - Elf library routines |publisher=Uw714doc.sco.com |date=25 April 2004 |accessdate=9 July 2012}}</ref>
| {{Yes}}
| {{some|Extension<ref name=fatelf>{{cite web|url=http://icculus.org/fatelf/ |title=FatELF: Universal Binaries for Linux |publisher=Icculus.org |date= |accessdate=9 July 2012}}</ref>}}
| {{some|Extension<ref name=elficon>{{cite web|url=http://www.compholio.com/elfres/ |title=ElfIcon: Icons for ELF files |publisher=Compholio.com |date= |accessdate=9 July 2012}}</ref>}}
|-
! scope="row" | [[Mach-O]]<ref name=macosx>{{cite web|url=http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html#//apple_ref/doc/uid/20001298-BAJIHABI |title=Mac OS X ABI Mach-O File Format Reference |publisher=Apple Inc. |date=4 February 2009 |accessdate=9 July 2012}}</ref>
| [[NeXTSTEP]], [[macOS]], [[iOS]], [[watchOS]], [[tvOS]]
| style="text-align: center;" | none
| {{Yes}} by section
| {{Some}} <small>(limited to max. 256 sections)</small>
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{No}}
|-
! scope="row" | [[System Object Model (file format)|SOM]]
| [[HP-UX]], [[MPE/ix]]
| {{dunno}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{unk}}
| {{Yes}}
| {{No}}
| {{unk}}
| {{No}}
|-
! scope="row" | [[Amiga Hunk]]
| [[AmigaOS]]
| style="text-align: center;" | none
| {{No}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{No}}
| {{Yes}}
| {{No}}
|-
! scope="row" | [[Preferred Executable Format|PEF]]<ref name="apple-pef">{{cite web|archiveurl=https://web.archive.org/web/20080512065331/http://developer.apple.com/tools/mpw-tools/commandref/dumppef.html|title=MPW Command Reference - DumpPEF|archivedate=12 May 2008|url=http://developer.apple.com/tools/mpw-tools/commandref/dumppef.htm|publisher=Apple Inc.}}</ref>
| [[Classic Mac OS|"classic" Mac OS]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | [[CMD file (CP/M)|CMD]]
| [[CP/M-86]], [[MP/M-86]], [[Concurrent CP/M-86]], [[Personal CP/M-86]], [[S5-DOS]], [[Concurrent DOS]], [[Concurrent DOS 286]], [[FlexOS]], [[S5-DOS/ST]], [[S5-DOS/MT]], [[Concurrent DOS 386]], [[Multiuser DOS]], [[Datapac System Manager|System Manager]], [[REAL/32]], [[DOS Plus]]
| style="text-align: center;" | <code>.CMD</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{Some|Extension}}
| {{Some|Extension}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | FlexOS 186
| [[FlexOS 186]], [[FlexOS 286]], [[S5-DOS/ST]], [[S5-DOS/MT]], [[4680 OS]], [[FlexOS 386]], [[4690 OS]]
| style="text-align: center;" | <code>[[.186]]</code>
| {{No}} <small>([[Intel 80186|186]]/[[Intel 80188|188]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{Some|Extension}}
| {{Some|Extension}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | FlexOS 286
| [[FlexOS 286]], [[S5-DOS/ST]], [[S5-DOS/MT]], [[4680 OS]], [[FlexOS 386]], [[4690 OS]]
| style="text-align: center;" | <code>[[.286]]</code>
| {{No}} <small>([[Intel 80286|286]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{Some|Extension}}
| {{Some|Extension}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | CP/M-68K
| [[CP/M-68K]], [[Concurrent DOS 68K]], [[FlexOS 68K]]
| style="text-align: center;" | <code>[[.68K]]</code>
| {{No}} <small>([[Motorola 68000|68000]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | [[COM file (CP/M)|COM (CP/M)]]
| [[CP/M]], [[MP/M]], [[Concurrent CP/M]], [[Personal CP/M]]
| style="text-align: center;" | <code>[[COM file|.COM]]</code>
| {{No}} <small>([[Intel 8080|8080]]/[[Zilog Z80|Z80]] only)</small>
| {{Some|Extension}} <small>([[Basic Disk Operating System|BDOS]] 3 and higher only)</small>
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Some|Extension}}
| {{No}}
|-
! scope="row" | [[COM file (DOS)|COM (DOS)]]
| [[DOS]], [[OS/2]], [[Windows]] <small>(except for 64-bit editions)</small>, [[Concurrent CP/M-86]] <small>([[Basic Disk Operating System|BDOS]] 3.1 only)</small>, [[Concurrent DOS]], [[Concurrent DOS 286]], [[FlexOS]], [[Concurrent DOS 386]], [[Multiuser DOS]], [[Datapac System Manager|System Manager]], [[REAL/32]], [[DOS Plus]]
| style="text-align: center;" | <code>[[COM file|.COM]]</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{No}}
| {{Some|Extension}} <small>(Novell/Caldera [[VERSION.EXE|VERSION]] etc.)</small>
| {{No}}
| {{No}}
| {{No}}
| {{Some|Extension}}<!-- DOS does not care if the executable code is 16-bit/32-bit or 64-bit for as long as the APIs are accessed correctly -->
| {{Some|Extension}}
| {{No}}
|-
! scope="row" | [[DOS MZ executable|MZ (DOS)]]
| [[DOS]], [[OS/2]], [[Windows]] <small>(except for 64-bit editions)</small>, [[Concurrent DOS 286]], [[FlexOS]], [[Concurrent DOS 386]], [[Multiuser DOS]], [[Datapac System Manager|System Manager]], [[REAL/32]], [[DOS Plus]]
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{Yes}}
| {{Some|Extension}}<small>(Novell/Caldera [[VERSION.EXE|VERSION]] etc.)</small>
| {{No}}
| {{Some|Extension}}
| {{Some|Extension}}
| {{Some|Extension}}<!-- DOS does not care if the executable code is 16-bit/32-bit or 64-bit for as long as the APIs are accessed correctly -->
| {{No}}
| {{No}}
|-
! scope="row" | MZ (GEM)
| [[Graphics Environment Manager|GEM]], [[ViewMAX]]<!-- , [[Ventura Publisher]] -->
| style="text-align: center;" | <code>[[.APP]]/[[.ACC]]</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{unk}}
|-
! scope="row" | [[New Executable|NE]]
| [[MS-DOS 4.0 (multitasking)]], [[OS/2]], [[Windows]], [[HX DOS Extender]]
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{unk}}
| {{unk}}
| {{unk}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[LE executable|LE]], ([[Windows W3 executable|W3]], [[Windows W4 executable|W4]])
| [[OS/2]] <small>(2.0 and higher only)</small>, some [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{Yes}} by file <small>([[Intel 80286|286]] and higher only)</small>
| {{Yes}}
| {{Yes}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[LX executable|LX]]
| [[OS/2]] <small>(2.0 and higher only)</small>, some 32-bit [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{Yes}} by file
| {{Yes}}
| {{Yes}}
| {{No}}
| {{Yes}}
| {{Yes}}<ref>{{cite web|url=http://ftp.sunet.se/pub/OS2/hobbes/os2/dev/info/lxexe.doc |title=Linear eXecutable Module Format |date= |accessdate=9 July 2012}}</ref>
| {{No}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[Portable Executable|PE]]
| [[Windows]], [[ReactOS]], [[HX DOS Extender]], [[BeOS]] <small>(R3 and higher only)</small>
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{Yes}} by file
| {{Yes}}
| {{Yes}}
| {{Yes}}<ref>{{cite web|url=http://www.microsoft.com/whdc/winlogo/drvsign/Authenticode_PE.mspx |title=Windows Authenticode Portable Executable Signature Format |publisher=Microsoft |date=29 August 2008 |accessdate=9 July 2012}}</ref>
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[Portable Executable|PE32+]]
| [[Windows]] <small>(64-bit editions only)</small>
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{Yes}} by file
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[Personal Information Manager|PIM]]/[[Execute In Place|XIP]]
| [[PalmDOS]] <small>([[MINIMAX]] applications only)</small>
| style="text-align: center;" | <code>[[.PIM]]/[[.XIP]]</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" id=.exm | [[DL executable|DL]]
| [[MS-DOS]] [[System Manager (HP LX)|System Manager]] applications <small>([[HP LX series]] only)</small>
| style="text-align: center;" | <code>[[.EXM]]</code>
| {{No}} <small>([[Intel 80186|186]]/[[Intel 80188|188]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" id=.exp | [[MP executable|MP]]
| [[Phar Lap (company)|Phar Lap]] [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXP]]</code>
| {{unk}} <small>([[Intel 80286|286]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | [[P2 executable|P2]]
| [[Phar Lap (company)|Phar Lap]] 16-bit [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXP]]</code>
| {{unk}} <small>([[Intel 80286|286]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | [[P3 executable|P3]]
| [[Phar Lap (company)|Phar Lap]] 32-bit [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXP]]</code>
| {{unk}} <small>([[Intel 80386|386]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | GEOS
| [[PC/GEOS]], [[Geoworks Ensemble]], [[NewDeal Office]], [[Breadbox Ensemble]]
| style="text-align: center;" | <code>[[.GEO]]</code>
| {{unk}} <small>([[Intel x86|x86]] only)</small>
| {{unk}}
| {{unk}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{unk}}
|}
== Notes ==
{{notelist|refs=
<ref name=metadata>
:Metadata is casually used to describe the controlling data used in software architectures that are more abstract or configurable. Most executable file formats include what may be termed "metadata" that specifies certain, usually configurable, behavioral [[run time (program lifecycle phase)|runtime]] characteristics. However, it is difficult if not impossible to precisely distinguish program "metadata" from general aspects of [[Von Neumann architecture|stored-program computing architecture]]; if the machine reads it and acts upon it, it is a computational [[Instruction (computer science)|instruction]], and the prefix "meta" has little significance.
:In [[Java (programming language)|Java]], the [[Class (file format)|class file format]] contains metadata used by the [[Java compiler]] and the [[Java virtual machine]] to [[dynamic linking|dynamically link]] [[class (computer science)|classes]] and to support [[reflection (computer science)|reflection]]. The [[Java Platform, Standard Edition]] since J2SE 5.0 has included a [[metadata facility for Java|metadata facility]] to allow additional annotations that are used by [[development tool]]s.
:In [[MS-DOS]], the [[COM file]] format does ''not'' normally include metadata, while the [[EXE]] file and Windows [[Portable Executable|PE]] formats do. These metadata can include the company that published the program, the date the program was created, the version number and more.
:In the [[.NET Framework]] executable format, extra metadata is included to allow [[Reflection (computer science)|reflection]] at runtime.</ref>
}}
== References ==
{{Reflist}}
{{Executables}}
{{DEFAULTSORT:Comparison Of Executable File Formats}}
[[Category:Computing comparisons]]
[[Category:Executable file formats| ]]' |
New page wikitext, after the edit (new_wikitext ) | '{{Use dmy dates|date=December 2014}}
YOU ARE REALLY UNDERSTAND THIS.
This is a comparison of binary [[executable]] [[file format]]s which, once loaded by a suitable executable [[Loader (computing)|loader]], can be directly executed by the CPU rather than become interpreted by software. In addition to the binary application code, the executables may contain headers and tables with relocation and fixup information as well as various kinds of meta data. Among those formats listed, the ones in most common use are [[Portable Executable|PE]] (on [[Microsoft Windows]]), [[Executable and Linkable Format|ELF]] (on [[Linux]] and most other versions of [[Unix]]), [[Mach-O]] (on [[macOS]] and [[iOS]]) and [[DOS MZ executable|MZ]] (on [[DOS]]).
{| class="wikitable sortable"
|-
! scope="col" | Format name
! scope="col" | Operating system
! scope="col" | [[Filename extension]]
! scope="col" | Explicit processor declarations
! scope="col" | Arbitrary [[memory segmentation|sections]]
! scope="col" | [[Metadata]]{{efn|name=metadata}}
! scope="col" | [[Code signing|Digital signature]]
! scope="col" | [[String (computer science)|String table]]
! scope="col" | [[Symbol table]]
! scope="col" | [[64-bit]]
! scope="col" | [[Fat binary|Fat binaries]]
! scope="col" | Can contain [[Icon (computing)|icon]]
|-
! scope="row" | [[OS/360 Object File Format|OS/360]]
| [[OS/360]] and [[VS/9]] mainframe systems
| style="text-align: center;" | none
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
|-
! scope="row" | [[a.out]]
| [[Unix-like]]
| style="text-align: center;" | none
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}<ref name=aout>{{cite web|url=http://www.freebsd.org/cgi/man.cgi?query=a.out&sektion=5 |title=a.out(5) - FreeBSD Man Pages |publisher=Freebsd.org |date=10 June 2010 |accessdate=9 July 2012}}</ref>
| {{Yes}}<ref name=aout />
| {{Some|Extension}}
| {{No}}
| {{No}}
|-
! scope="row" | [[COFF]]
| [[Unix-like]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Some|Extension}}
| {{No}}
| {{No}}
|-
! scope="row" | [[ECOFF]]
| [[Ultrix]], [[Tru64 UNIX]], [[IRIX]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
|-
! scope="row" | [[XCOFF]]
| [[IBM AIX]], [[BeOS]], [[Classic Mac OS|"classic" Mac OS]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}<ref>{{cite web|url=http://pic.dhe.ibm.com/infocenter/aix/v7r1/topic/com.ibm.aix.files/doc/aixfiles/XCOFF.htm|title=Files Reference – XCOFF Object File Format|publisher=IBM}}</ref>
| {{Yes}}
| {{No}}
| {{No}}
|-
! scope="row" | [[Executable and Linkable Format|ELF]]
| [[Unix-like]], [[OpenVMS]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{Yes}}
| {{Yes}}
| {{Yes}}<ref>{{cite web|url=http://freshmeat.net/projects/elfsign/ |title=elfsign – Freecode |publisher=Freshmeat.net |date= |accessdate=9 July 2012}}</ref>
| {{Yes}}
| {{Yes}}<ref name=3elf>{{cite web|url=http://uw714doc.sco.com/en/man/html.3elf/elf_getarsym.3elf.html |title=(3elf) - Elf library routines |publisher=Uw714doc.sco.com |date=25 April 2004 |accessdate=9 July 2012}}</ref>
| {{Yes}}
| {{some|Extension<ref name=fatelf>{{cite web|url=http://icculus.org/fatelf/ |title=FatELF: Universal Binaries for Linux |publisher=Icculus.org |date= |accessdate=9 July 2012}}</ref>}}
| {{some|Extension<ref name=elficon>{{cite web|url=http://www.compholio.com/elfres/ |title=ElfIcon: Icons for ELF files |publisher=Compholio.com |date= |accessdate=9 July 2012}}</ref>}}
|-
! scope="row" | [[Mach-O]]<ref name=macosx>{{cite web|url=http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html#//apple_ref/doc/uid/20001298-BAJIHABI |title=Mac OS X ABI Mach-O File Format Reference |publisher=Apple Inc. |date=4 February 2009 |accessdate=9 July 2012}}</ref>
| [[NeXTSTEP]], [[macOS]], [[iOS]], [[watchOS]], [[tvOS]]
| style="text-align: center;" | none
| {{Yes}} by section
| {{Some}} <small>(limited to max. 256 sections)</small>
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{No}}
|-
! scope="row" | [[System Object Model (file format)|SOM]]
| [[HP-UX]], [[MPE/ix]]
| {{dunno}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{unk}}
| {{Yes}}
| {{No}}
| {{unk}}
| {{No}}
|-
! scope="row" | [[Amiga Hunk]]
| [[AmigaOS]]
| style="text-align: center;" | none
| {{No}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{No}}
| {{Yes}}
| {{No}}
|-
! scope="row" | [[Preferred Executable Format|PEF]]<ref name="apple-pef">{{cite web|archiveurl=https://web.archive.org/web/20080512065331/http://developer.apple.com/tools/mpw-tools/commandref/dumppef.html|title=MPW Command Reference - DumpPEF|archivedate=12 May 2008|url=http://developer.apple.com/tools/mpw-tools/commandref/dumppef.htm|publisher=Apple Inc.}}</ref>
| [[Classic Mac OS|"classic" Mac OS]]
| style="text-align: center;" | none
| {{Yes}} by file
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | [[CMD file (CP/M)|CMD]]
| [[CP/M-86]], [[MP/M-86]], [[Concurrent CP/M-86]], [[Personal CP/M-86]], [[S5-DOS]], [[Concurrent DOS]], [[Concurrent DOS 286]], [[FlexOS]], [[S5-DOS/ST]], [[S5-DOS/MT]], [[Concurrent DOS 386]], [[Multiuser DOS]], [[Datapac System Manager|System Manager]], [[REAL/32]], [[DOS Plus]]
| style="text-align: center;" | <code>.CMD</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{Some|Extension}}
| {{Some|Extension}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | FlexOS 186
| [[FlexOS 186]], [[FlexOS 286]], [[S5-DOS/ST]], [[S5-DOS/MT]], [[4680 OS]], [[FlexOS 386]], [[4690 OS]]
| style="text-align: center;" | <code>[[.186]]</code>
| {{No}} <small>([[Intel 80186|186]]/[[Intel 80188|188]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{Some|Extension}}
| {{Some|Extension}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | FlexOS 286
| [[FlexOS 286]], [[S5-DOS/ST]], [[S5-DOS/MT]], [[4680 OS]], [[FlexOS 386]], [[4690 OS]]
| style="text-align: center;" | <code>[[.286]]</code>
| {{No}} <small>([[Intel 80286|286]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{Some|Extension}}
| {{Some|Extension}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | CP/M-68K
| [[CP/M-68K]], [[Concurrent DOS 68K]], [[FlexOS 68K]]
| style="text-align: center;" | <code>[[.68K]]</code>
| {{No}} <small>([[Motorola 68000|68000]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | [[COM file (CP/M)|COM (CP/M)]]
| [[CP/M]], [[MP/M]], [[Concurrent CP/M]], [[Personal CP/M]]
| style="text-align: center;" | <code>[[COM file|.COM]]</code>
| {{No}} <small>([[Intel 8080|8080]]/[[Zilog Z80|Z80]] only)</small>
| {{Some|Extension}} <small>([[Basic Disk Operating System|BDOS]] 3 and higher only)</small>
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Some|Extension}}
| {{No}}
|-
! scope="row" | [[COM file (DOS)|COM (DOS)]]
| [[DOS]], [[OS/2]], [[Windows]] <small>(except for 64-bit editions)</small>, [[Concurrent CP/M-86]] <small>([[Basic Disk Operating System|BDOS]] 3.1 only)</small>, [[Concurrent DOS]], [[Concurrent DOS 286]], [[FlexOS]], [[Concurrent DOS 386]], [[Multiuser DOS]], [[Datapac System Manager|System Manager]], [[REAL/32]], [[DOS Plus]]
| style="text-align: center;" | <code>[[COM file|.COM]]</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{No}}
| {{Some|Extension}} <small>(Novell/Caldera [[VERSION.EXE|VERSION]] etc.)</small>
| {{No}}
| {{No}}
| {{No}}
| {{Some|Extension}}<!-- DOS does not care if the executable code is 16-bit/32-bit or 64-bit for as long as the APIs are accessed correctly -->
| {{Some|Extension}}
| {{No}}
|-
! scope="row" | [[DOS MZ executable|MZ (DOS)]]
| [[DOS]], [[OS/2]], [[Windows]] <small>(except for 64-bit editions)</small>, [[Concurrent DOS 286]], [[FlexOS]], [[Concurrent DOS 386]], [[Multiuser DOS]], [[Datapac System Manager|System Manager]], [[REAL/32]], [[DOS Plus]]
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{Yes}}
| {{Some|Extension}}<small>(Novell/Caldera [[VERSION.EXE|VERSION]] etc.)</small>
| {{No}}
| {{Some|Extension}}
| {{Some|Extension}}
| {{Some|Extension}}<!-- DOS does not care if the executable code is 16-bit/32-bit or 64-bit for as long as the APIs are accessed correctly -->
| {{No}}
| {{No}}
|-
! scope="row" | MZ (GEM)
| [[Graphics Environment Manager|GEM]], [[ViewMAX]]<!-- , [[Ventura Publisher]] -->
| style="text-align: center;" | <code>[[.APP]]/[[.ACC]]</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{unk}}
|-
! scope="row" | [[New Executable|NE]]
| [[MS-DOS 4.0 (multitasking)]], [[OS/2]], [[Windows]], [[HX DOS Extender]]
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{unk}}
| {{unk}}
| {{unk}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[LE executable|LE]], ([[Windows W3 executable|W3]], [[Windows W4 executable|W4]])
| [[OS/2]] <small>(2.0 and higher only)</small>, some [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{Yes}} by file <small>([[Intel 80286|286]] and higher only)</small>
| {{Yes}}
| {{Yes}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[LX executable|LX]]
| [[OS/2]] <small>(2.0 and higher only)</small>, some 32-bit [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{Yes}} by file
| {{Yes}}
| {{Yes}}
| {{No}}
| {{Yes}}
| {{Yes}}<ref>{{cite web|url=http://ftp.sunet.se/pub/OS2/hobbes/os2/dev/info/lxexe.doc |title=Linear eXecutable Module Format |date= |accessdate=9 July 2012}}</ref>
| {{No}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[Portable Executable|PE]]
| [[Windows]], [[ReactOS]], [[HX DOS Extender]], [[BeOS]] <small>(R3 and higher only)</small>
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{Yes}} by file
| {{Yes}}
| {{Yes}}
| {{Yes}}<ref>{{cite web|url=http://www.microsoft.com/whdc/winlogo/drvsign/Authenticode_PE.mspx |title=Windows Authenticode Portable Executable Signature Format |publisher=Microsoft |date=29 August 2008 |accessdate=9 July 2012}}</ref>
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[Portable Executable|PE32+]]
| [[Windows]] <small>(64-bit editions only)</small>
| style="text-align: center;" | <code>[[.EXE]]</code>
| {{Yes}} by file
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{No}}
| {{Yes}}
|-
! scope="row" | [[Personal Information Manager|PIM]]/[[Execute In Place|XIP]]
| [[PalmDOS]] <small>([[MINIMAX]] applications only)</small>
| style="text-align: center;" | <code>[[.PIM]]/[[.XIP]]</code>
| {{No}} <small>([[Intel x86|x86]] only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" id=.exm | [[DL executable|DL]]
| [[MS-DOS]] [[System Manager (HP LX)|System Manager]] applications <small>([[HP LX series]] only)</small>
| style="text-align: center;" | <code>[[.EXM]]</code>
| {{No}} <small>([[Intel 80186|186]]/[[Intel 80188|188]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" id=.exp | [[MP executable|MP]]
| [[Phar Lap (company)|Phar Lap]] [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXP]]</code>
| {{unk}} <small>([[Intel 80286|286]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | [[P2 executable|P2]]
| [[Phar Lap (company)|Phar Lap]] 16-bit [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXP]]</code>
| {{unk}} <small>([[Intel 80286|286]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | [[P3 executable|P3]]
| [[Phar Lap (company)|Phar Lap]] 32-bit [[DOS extender]]s
| style="text-align: center;" | <code>[[.EXP]]</code>
| {{unk}} <small>([[Intel 80386|386]] and higher only)</small>
| {{Yes}}
| {{No}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{No}}
|-
! scope="row" | GEOS
| [[PC/GEOS]], [[Geoworks Ensemble]], [[NewDeal Office]], [[Breadbox Ensemble]]
| style="text-align: center;" | <code>[[.GEO]]</code>
| {{unk}} <small>([[Intel x86|x86]] only)</small>
| {{unk}}
| {{unk}}
| {{No}}
| {{unk}}
| {{unk}}
| {{No}}
| {{No}}
| {{unk}}
|}
== Notes ==
{{notelist|refs=
<ref name=metadata>
:Metadata is casually used to describe the controlling data used in software architectures that are more abstract or configurable. Most executable file formats include what may be termed "metadata" that specifies certain, usually configurable, behavioral [[run time (program lifecycle phase)|runtime]] characteristics. However, it is difficult if not impossible to precisely distinguish program "metadata" from general aspects of [[Von Neumann architecture|stored-program computing architecture]]; if the machine reads it and acts upon it, it is a computational [[Instruction (computer science)|instruction]], and the prefix "meta" has little significance.
:In [[Java (programming language)|Java]], the [[Class (file format)|class file format]] contains metadata used by the [[Java compiler]] and the [[Java virtual machine]] to [[dynamic linking|dynamically link]] [[class (computer science)|classes]] and to support [[reflection (computer science)|reflection]]. The [[Java Platform, Standard Edition]] since J2SE 5.0 has included a [[metadata facility for Java|metadata facility]] to allow additional annotations that are used by [[development tool]]s.
:In [[MS-DOS]], the [[COM file]] format does ''not'' normally include metadata, while the [[EXE]] file and Windows [[Portable Executable|PE]] formats do. These metadata can include the company that published the program, the date the program was created, the version number and more.
:In the [[.NET Framework]] executable format, extra metadata is included to allow [[Reflection (computer science)|reflection]] at runtime.</ref>
}}
== References ==
{{Reflist}}
{{Executables}}
{{DEFAULTSORT:Comparison Of Executable File Formats}}
[[Category:Computing comparisons]]
[[Category:Executable file formats| ]]' |
Whether or not the change was made through a Tor exit node (tor_exit_node ) | 0 |
Unix timestamp of change (timestamp ) | 1484241399 |