Windows Executable File
Filename extension
.exe
Internet media type
application/vnd.microsoft.portable-executable
Magic numberDepends on the file format
Developed byMicrosoft
Type of formatExecutable file
Container forMZ, NE, LX, LE, PE, PE32+, W3, W4, DL, MP, P2, P3
Open format?No

In Windows, OS/2, and DOS, .exe is the filename extension for a file that is runnable as a native executable computer program.[1] Such a file is sometimes referred to an EXE – as one historical way to identify a file extension is without the dot prefix and capitalized.

File formats

edit

Although the EXE file format has a common lineage across related operating system (OS) versions, the format was enhanced over time. Some amount of backward compatibility was supported in later versions but earlier versions cannot run an EXE formatted for a newer version. Formats include:

DOS MZ executable
The DOS MZ executable format is used by MS-DOS compatible operating systems. This format is 16-bit.
New Executable
The New Executable (NE) format was introduced with the multitasking MS-DOS 4.0 and also used by 16-bit OS/2 and Windows. This format is 16-bit.
Linear Executable
The Linear Executable (LE) format is mixed 16/32-bit and was introduced with OS/2 2.0. VxD drivers on Windows 3.x and Windows 9x also use this format. There is a 2-bit only version identified as LX was also introduced with OS/2 2.0 and runs on OS/2 2.0 and higher.[2]
Portable Executable
Introduced with Windows NT, the Portable Executable (PE) format is a fat binary consisting of both a DOS and a Windows part. The DOS stub is runnable on a DOS system but is ignored by Windows. The Microsoft C++ linker, by default, adds a small DOS program that prints the message: "This program cannot be run in DOS mode" and exits.[3][4][5] Windows ignores the DOS stub and executes the 32-bit Windows-specific portion.[3] With some linkers, it is possible to specify a custom DOS stub.[3][4][6] Indeed, there are a few dual programs, such as regedit in Windows 95[7] and old versions of WinZIP self extractors. A 64-bit version, PE32+, was introduced with 64-bit versions of Windows. In most cases, code can be written to simply work as either a 32 or 64-bit PE file.[8] This format also includes a DOS stub.[6]
Other
There are other EXE formats, including but not limited to W3 (a collection of LE files, only used in WIN386.EXE), W4 (a compressed collection of LE files, only used in VMM32.VXD), DL, MP, P2, P3 (last three used by Phar Lap extenders).[9]

See also

edit

References

edit
  1. ^ ".EXE File Extension". FileInfo - The File Extensions Database. Sharpened Productions. Retrieved 2019-08-16.
  2. ^ "OS/2 Operating System". operating system documentation project. 2004-04-03. Retrieved 2014-02-13.
  3. ^ a b c "PE Format". Windows App Development. Microsoft. 2019-08-25.
  4. ^ a b "/STUB (MS-DOS Stub File Name)". C/C++ Building Reference (Visual Studio 2022 ed.). Microsoft. Retrieved 2014-01-10.
  5. ^ Sedory, Daniel B. (2004-10-12). "DOS Stub Program". The Starman's Realm. Self-published. Retrieved 2014-01-10.
  6. ^ a b Ellermann, Frank (2014-01-22). "dostub.exe". Purl.net. Retrieved 2014-01-24.
  7. ^ "Using Registry Editor in Real Mode". Support. Microsoft. 2006-11-15. Archived from the original on 2014-01-15. Retrieved 2014-01-10. Windows 95 includes a Registry Editor program (Regedit.exe) that runs in both the real-mode MS-DOS environment and in the protected-mode Windows environment. When you need to modify the registry without starting Windows 95, use Registry Editor in real mode. Note that the switches listed in this article only work in real-mode.
  8. ^ Pietrek, Matt (February 2002). "An In-Depth Look into the Win32 Portable Executable File Format". MSDN Magazine. Microsoft.
  9. ^ Brown, Ralf (2000-07-16). "Int 21/AH=4Bh". Ralf Brown's Interrupt List. Archived from the original on 2015-05-19. Retrieved 2018-10-30.

Further reading

edit
edit

📚 Artikel Terkait di Wikipedia

Linear Executable

Linear Executable (LE) is file format for executable code designed for 32-bit protected mode operating systems. Originally used by the OS/2 operating system

DOS MZ executable

The DOS MZ executable format is the executable file format used for .EXE files under the DOS and Windows operating systems. The file can be identified

LE

measure of the binding energy of a ligand to its binding partner Linear Executable, an OS/2 file format LE (text editor), a simple text editor for unix-like

New Executable

The New Executable (NE or NewEXE) is a 16-bit executable file format, a successor to the DOS MZ executable format. It was used in Windows 1.0–3.x, Windows

Comparison of executable file formats

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

Linear (disambiguation)

along only one dimension Linear Executable (LE), a mixed 16/32-bit Windows executable file format, introduced with OS/2 2.0 Linear-feedback shift register

LX

numerals Lux (symbol: lx), the SI derived unit of illuminance Linear Executable, the executable file format used by OS/2 Lipoxin, in medicine Swiss International

Fat binary

Cross-platform software DOS stub Fat pointer Linear Executable (LX) New Executable (NE) Portable Executable (PE) Position-independent code (PIC) Side effect