Comparison of executable file formats

From Wikipedia, the free encyclopedia

This is a comparison of binary executable file formats which, once loaded by a suitable executable loader, can be directly executed by the CPU rather than being 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 PE (on Microsoft Windows), ELF (on Linux and most other versions of Unix), Mach-O (on macOS and iOS) and MZ (on DOS).

More information Format name, Operating system ...
Close

Notes

  1. 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 runtime characteristics. However, it is difficult if not impossible to precisely distinguish program "metadata" from general aspects of stored-program computing architecture; if the machine reads it and acts on it, it is a computational instruction, and the prefix "meta" has little significance.
    In Java, the Java class file format contains metadata used by the Java compiler and the Java virtual machine to dynamically link classes and to support reflective programming (reflection). The Java Platform, Standard Edition since J2SE 5.0 has included a metadata facility to allow additional annotations that are used by development tools.
    In 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 at runtime.

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.