Windows Executable File
(Redirected from DL executable)
| Windows Executable File | |
|---|---|
| Filename extension | .exe |
| Internet media type | application/vnd.microsoft.portable-executable |
| Magic number | Depends on the file format |
| Developed by | Microsoft |
| Type of format | Executable file |
| Container for | MZ, 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 | edit source]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. A 32-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 | edit source]- Comparison of executable file formats
- Executable compression – Means of compressing an executable file
- IExpress – Software included within Microsoft Windows
- List of file formats § Object code, executable files, shared and dynamically linked libraries
- Lua error in Module:GetShortDescription at line 33: attempt to index field 'wikibase' (a nil value).
- Dynamic-link library – Sharable executable library in Windows and OS/2
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
Further reading
[edit | edit source]- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). Second reply