EXE

EXE az általános fájlkiterjesztése az MS-DOS, a Microsoft Windows, és az OS/2 operációs rendszereken található alkalmazásoknak (számítógépes programoknak).

Az EXE az angol "executable" (futtatható) szóból ered. Az EXE fájlformátum az MS-DOS 2.0-s verziójában jelent meg először. Az ezt megelőző változatok csak COM alkalmazásokat használtak, amik valamivel kevesebb mint 64 KiB méretig voltak korlátozva és mivel nem volt áthelyezési információjuk, ezért csak egy kódszegmenst tartalmazhattak. Az EXE fejléce tartalmaz ilyen áthelyezési információt, ami lehetővé teszi, hogy több szegmens töltődjön be tetszőleges memóriacímekre, és támogatja a 64 KiB-nál nagyobb méretet.

Számos fő EXE fájlformátum van.
 DOS alkalmazás: a DOS 2.0-val jelent meg, ezeket csak a fájl elején található ASCII „MZ” karaktersorozatról vagy a hexadecimális 4D 5A-ról lehet felismerni (a „Mágikus szám”). Ezeket az alkalmazásokat DOS-ban és Windowsban is lehet futtatni. Az „MZ” Mark Zbikowski nevének kezdőbetűi, aki az MS-DOS egyik fejlesztője volt.
 16 bites New Executable: A többfeladatos MS-DOS 4.0-val jelent meg, az ASCII „NE”-ről ismerhető fel. Ez nem futtatható a DOS régebbi változatain, de futtatható minden 32 bites Windows és OS/2 változaton. A 64 bites Windows változatokból kivették a 16 bites programok támogatását.
 Kevert 16/32-bit Linear Executable: Az OS/2 2.0-val jelent meg, az „LE”-ről ismerhető fel. Ezt a formátumot már nem használják alkalmazásokhoz, csak VxD illesztőprogramoknál Windows 3.x és Windows 9x alatt.
 32 bites Linear Executable: Az OS/2 2.0-val jelent meg, Az „LX”-ről ismerhető fel. Csak OS/2 2.0 és újabb verzióin futtatható. Néhány DOS kiterjesztő is használja.
 32 bites Portable Executable: A Windows NT-vel jelent meg, a „PE”-ről ismerhető fel. Az összes Windows NT verzió tudja futtatni, a Windows 95 és újabb változatok is. Ugyancsak ezt használják a BeOS R3-ban. DOS-on DPMILD32.EXE segítségével tölthetőek be és futtathatóak, amely az HX.DOS runtime részét képezi és speciálisan DOS-ra készült PE fájlok mellett korlátozottan Windows PE programokat is támogat.
 64 bites Portable Executable: A Windows 64 bites verzióival jelent meg, ezek PE fájlok megfelelő 64 bites utasításkészlettel, például x86-64-es vagy IA-64-es processzorokra. Ezek eredetileg csak a Microsoft Windows 64 bites változatain futnak, például a Windows XP 64-Bit Edition-ön vagy a Windows Server 2003 64-Bit Edition-ön, és csak a megadott típusú processzorral rendelkező gépeken. 64 bites Linux rendszereken Wine képes ilyen programokat futtatni. DOS-on a DPMILD64.EXE segítségével futtathatóak ilyen formátumú fájlok, de a DPMILD32.EXE-vel ellentétben ebben az esetben csak a formátum támogatott, .dll könyvtárak linkelésére nincs lehetőség, ezáltal a 64 bites Windows programok nem, csak a kifejezetten DOS-ra fordított programok támogatottak.

Ezeken kívül számos saját EXE formátum létezik, például a W3 (LE fájlok gyűjteménye, csak a WIN386.EXE-ben használták), a W4 (LE fájlok tömörített gyűjteménye, csak a VMM32.VXD-ben használt), a DL, az MP, a P2, a P3, és valószínűleg több.

Amikor a Windows egy 16 bites, vagy egy 32 bites alkalmazást futtat, a végrehajtás az NE vagy a PE résznél kezdődik. Azonban a DOS eredetileg nem képes ezeket a fájlokat futtatni. A DOS összeomlásának megakadályozása érdekében minden Windows programnak egy működő DOS programmal kell kezdődnie. Általában ez a program egy egyszerű üzenetet tartalmaz, hogy a program nem futtatható DOS módban, de néhány Windows programnak (például regedit) használható DOS része is van. Az HX.DOS runtime egyrészt lehetőséget biztosít a nem használható DOS stub-ok cseréjére, amely után az új stub meghívja a DPMILD32.EXE programot hibaüzenet helyett, amely kapcsolatot teremt a DOS és a PE fájl között és a program futhat DOS-on, hasonlóan, mint az eredetileg is DOS-t célzó DOS4G(W) kiterjesztett programok, amelyek a DOS4G(W).EXE programot hívják meg hasonló módon. Másrészt a memóriarezidens HXLDR.EXE is rendelkezésre áll, hogy a DOS rendszer PE kompatibilissé váljon. Ha ez a program a memóriában van, felismeri a futtatni szándékozott PE programokat és automatikusan meghívja hozzájuk a DPMILD32.EXE-t, így a stub cseréje sem szükséges. Emellett a DPMILD32.EXE manuálisan is meghívható PE formátumú végrehajtható fájlok betöltéséhez.

Kapcsolódó szócikkek 
 Alkalmazás

További információk 
 EXE fejléc formátum
 Dependency Walker
 Alkalmazás fájltípusok
 ExeScript 2.1 – .bat, Visual Basic és Java szkriptfájlok alkalmazássá konvertálása (.exe).

Fájlformátumok