Executables
From Just Solve the File Format Problem
(Difference between revisions)
Dan Tobias (Talk | contribs) (→Macros or automated scripting) |
(→Shared libraries, chained files, etc.) |
||
(47 intermediate revisions by 5 users not shown) | |||
Line 10: | Line 10: | ||
* [[a.out]] | * [[a.out]] | ||
+ | * [[Amiga Hunk]] | ||
+ | * [[Atari ST executable]] (.prg) | ||
* [[COFF]] — The Common Object File Format, an executable format originally designed for use in UNIX System V | * [[COFF]] — The Common Object File Format, an executable format originally designed for use in UNIX System V | ||
* [[Commodore 64 binary executable]] (.prg) | * [[Commodore 64 binary executable]] (.prg) | ||
* [[DOS executable (.com)]] — 16 bit DOS executable | * [[DOS executable (.com)]] — 16 bit DOS executable | ||
+ | * [[EPOC/Symbian executable]] | ||
* [[EXE]] — MS-DOS, MS Windows, and others | * [[EXE]] — MS-DOS, MS Windows, and others | ||
** [[MS-DOS EXE]] | ** [[MS-DOS EXE]] | ||
Line 19: | Line 22: | ||
** [[Portable Executable]] (PE, actually a [[COFF]] variant) | ** [[Portable Executable]] (PE, actually a [[COFF]] variant) | ||
* [[Executable and Linkable Format]] (ELF) | * [[Executable and Linkable Format]] (ELF) | ||
+ | * [[GOFF]] | ||
* [[Intel HEX]] | * [[Intel HEX]] | ||
* [[iOS app]] (.app) (see also [[IPA]] for archived version, and [[Mobile Provision file]] for provision file accompanying apps) | * [[iOS app]] (.app) (see also [[IPA]] for archived version, and [[Mobile Provision file]] for provision file accompanying apps) | ||
* [[Mach-O]] | * [[Mach-O]] | ||
+ | * [[Multiboot]] | ||
+ | * [[Native Client Executable]] (sandboxed executable for Chromium browsers) | ||
+ | * [[OS/360 Object File Format]] | ||
+ | * [[PRC (Palm OS)]] | ||
* [[Psion IMG/APP]] | * [[Psion IMG/APP]] | ||
* [[Psion OPO/OPA]] | * [[Psion OPO/OPA]] | ||
+ | * [[Towns OS EXP]] | ||
== Shared libraries, chained files, etc. == | == Shared libraries, chained files, etc. == | ||
(can't be run by themselves, but are used at runtime by other executables) | (can't be run by themselves, but are used at runtime by other executables) | ||
+ | * [[AIL real mode driver]] (.adv) | ||
+ | * [[Borland Graphics Interface]] (.bgi) | ||
+ | * [[DIGPAK sound driver]] | ||
* [[DOS device driver]] (.sys) | * [[DOS device driver]] (.sys) | ||
* [[Dynamic library (OS X or iOS)]] (.dylib) | * [[Dynamic library (OS X or iOS)]] (.dylib) | ||
* [[Dynamic-link library (Windows)]] (.dll) | * [[Dynamic-link library (Windows)]] (.dll) | ||
* [[Turbo Pascal chain file]] (.chn) | * [[Turbo Pascal chain file]] (.chn) | ||
+ | |||
+ | == Interpreted program files == | ||
+ | * [[HamsterSpeak compiled file]] | ||
+ | * [[Tokenized BASIC]] | ||
+ | |||
+ | == Resource data used by executables and sometimes embedded in them == | ||
+ | See [[Resources]]. | ||
== Meta-info files used in execution of programs/packages == | == Meta-info files used in execution of programs/packages == | ||
* [[Assembly manifest (Windows)]] (.manifest) | * [[Assembly manifest (Windows)]] (.manifest) | ||
+ | * [[Java Network Launching Protocol]] | ||
+ | * [[Mobile Provision file]] | ||
* [[Program information file]] (PIF) | * [[Program information file]] (PIF) | ||
+ | ** [[DESQview Program Information File]] (.dvp) | ||
== Virtual machine code == | == Virtual machine code == | ||
+ | (see [[Wikipedia:UVC-based preservation]] for use of virtual machines in archival preservation) | ||
* [[ART (Android Runtime)]] | * [[ART (Android Runtime)]] | ||
* [[BEAM]] (Erlang) | * [[BEAM]] (Erlang) | ||
* [[Bytecode]] (or p-code) — programs "compiled" into machine-independent code that loads or runs more quickly than raw interpreted source code; runs in an interpreter | * [[Bytecode]] (or p-code) — programs "compiled" into machine-independent code that loads or runs more quickly than raw interpreted source code; runs in an interpreter | ||
* [[Dalvik Executable]] (DEX; virtual machine used in Android) | * [[Dalvik Executable]] (DEX; virtual machine used in Android) | ||
+ | * [[Java bytecode]] (aka 'class file') | ||
+ | * [[Lingo bytecode]] | ||
+ | * [[Olive]] (executable archive embedding a virtual machine emulating original environment) | ||
+ | * [[PYC]] ([[Python]] bytecode) | ||
+ | * [[UCSD p-system p-code]] | ||
* [[Universal Machine (ICFP programming contest 2006)]] | * [[Universal Machine (ICFP programming contest 2006)]] | ||
+ | * [[Uxn program file]] | ||
+ | * [[WebAssembly]] | ||
* [[Z-code]] | * [[Z-code]] | ||
== Macros or automated scripting == | == Macros or automated scripting == | ||
+ | * [[4DOS compressed batch file]] | ||
+ | * [[ActiveMime]] | ||
* [[Batch file]] | * [[Batch file]] | ||
* [[Bourne shell script]] | * [[Bourne shell script]] | ||
+ | * [[C shell script]] | ||
* [[DoItAgain]] | * [[DoItAgain]] | ||
+ | * [[Photoshop Action File]] (.atn) | ||
+ | * [[Sikuli]] | ||
+ | * [[Windows Script File]] | ||
+ | * [[WordPerfect macro]] (.wpm, .wcm) | ||
+ | |||
+ | For additional formats, see [[Programming Languages]]. | ||
+ | |||
+ | See also [[Executable envelopes#Compiled scripts]]. | ||
+ | |||
+ | == Executable compression == | ||
+ | |||
+ | Refer to [[Executable compression]]. | ||
+ | |||
+ | == Executable envelopes == | ||
+ | (Generated executables: self-extracting archives and installers, executable documents, etc.) | ||
+ | |||
+ | Refer to [[Executable envelopes]]. | ||
== See also == | == See also == | ||
− | + | * [[Source code]], for code in a higher-level [[Programming Languages|programming language]] that needs to be compiled, assembled, or interpreted | |
+ | * [[Programming Languages]] | ||
+ | * [[Development]], for other files used in the development process, including object and library files that get linked into a finished executable | ||
== Links == | == Links == | ||
Line 60: | Line 112: | ||
* [http://boingboing.net/2014/02/24/flappy-bird-demakes.html Flappy Bird implementations for various classic platforms] | * [http://boingboing.net/2014/02/24/flappy-bird-demakes.html Flappy Bird implementations for various classic platforms] | ||
* [http://www.loc.gov/preservation/resources/rfs/softgame.html Library of Congress Recommended Format Specifications: Software/Gaming] | * [http://www.loc.gov/preservation/resources/rfs/softgame.html Library of Congress Recommended Format Specifications: Software/Gaming] | ||
+ | * [http://blog.trailofbits.com/2014/02/23/semantic-analysis-of-native-programs-introducing-codereason/ Semantic Analysis of Native Programs, introducing CodeReason] | ||
+ | * [https://github.com/MattPD/cpplinks/blob/master/executables.md C++ links: executables] | ||
[[Category:Executables| ]] | [[Category:Executables| ]] |
Latest revision as of 15:29, 10 May 2024
Container formats for machine executable code. These often define different sections to be loaded into memory. Some formats may be compatible with different CPU architectures.
[edit] Directly executable
- a.out
- Amiga Hunk
- Atari ST executable (.prg)
- COFF — The Common Object File Format, an executable format originally designed for use in UNIX System V
- Commodore 64 binary executable (.prg)
- DOS executable (.com) — 16 bit DOS executable
- EPOC/Symbian executable
- EXE — MS-DOS, MS Windows, and others
- MS-DOS EXE
- New Executable (NE)
- Linear Executable
- Portable Executable (PE, actually a COFF variant)
- Executable and Linkable Format (ELF)
- GOFF
- Intel HEX
- iOS app (.app) (see also IPA for archived version, and Mobile Provision file for provision file accompanying apps)
- Mach-O
- Multiboot
- Native Client Executable (sandboxed executable for Chromium browsers)
- OS/360 Object File Format
- PRC (Palm OS)
- Psion IMG/APP
- Psion OPO/OPA
- Towns OS EXP
[edit]
(can't be run by themselves, but are used at runtime by other executables)
- AIL real mode driver (.adv)
- Borland Graphics Interface (.bgi)
- DIGPAK sound driver
- DOS device driver (.sys)
- Dynamic library (OS X or iOS) (.dylib)
- Dynamic-link library (Windows) (.dll)
- Turbo Pascal chain file (.chn)
[edit] Interpreted program files
[edit] Resource data used by executables and sometimes embedded in them
See Resources.
[edit] Meta-info files used in execution of programs/packages
- Assembly manifest (Windows) (.manifest)
- Java Network Launching Protocol
- Mobile Provision file
- Program information file (PIF)
[edit] Virtual machine code
(see Wikipedia:UVC-based preservation for use of virtual machines in archival preservation)
- ART (Android Runtime)
- BEAM (Erlang)
- Bytecode (or p-code) — programs "compiled" into machine-independent code that loads or runs more quickly than raw interpreted source code; runs in an interpreter
- Dalvik Executable (DEX; virtual machine used in Android)
- Java bytecode (aka 'class file')
- Lingo bytecode
- Olive (executable archive embedding a virtual machine emulating original environment)
- PYC (Python bytecode)
- UCSD p-system p-code
- Universal Machine (ICFP programming contest 2006)
- Uxn program file
- WebAssembly
- Z-code
[edit] Macros or automated scripting
- 4DOS compressed batch file
- ActiveMime
- Batch file
- Bourne shell script
- C shell script
- DoItAgain
- Photoshop Action File (.atn)
- Sikuli
- Windows Script File
- WordPerfect macro (.wpm, .wcm)
For additional formats, see Programming Languages.
See also Executable envelopes#Compiled scripts.
[edit] Executable compression
Refer to Executable compression.
[edit] Executable envelopes
(Generated executables: self-extracting archives and installers, executable documents, etc.)
Refer to Executable envelopes.
[edit] See also
- Source code, for code in a higher-level programming language that needs to be compiled, assembled, or interpreted
- Programming Languages
- Development, for other files used in the development process, including object and library files that get linked into a finished executable