EXE是指可執(zhí)行程序文件,用于在計算機(jī)上執(zhí)行一系列任務(wù)的指令和數(shù)據(jù)的文件;EXE文件可以加載到內(nèi)存中,由操作系統(tǒng)加載并執(zhí)行。操作系統(tǒng)必須將可執(zhí)行文件的內(nèi)容解釋為由物理中央處理單元(CPU)使用的有意義的機(jī)器代碼指令。
本教程操作環(huán)境:windows7系統(tǒng)、Dell G3電腦。
exe全稱“executable”,中文意思為“可執(zhí)行的”,是一種文件格式。
EXE是指可執(zhí)行程序文件,用于在計算機(jī)上執(zhí)行一系列任務(wù)的指令和數(shù)據(jù)的文件。操作系統(tǒng)必須將可執(zhí)行文件的內(nèi)容解釋為由物理中央處理單元(CPU)使用的有意義的機(jī)器代碼指令。
EXE文件可以加載到內(nèi)存中,由操作系統(tǒng)加載并執(zhí)行。特定的CPU指令集(如X86指令集)對應(yīng)的不同平臺之間的可執(zhí)行程序不可直接移植運行。
可執(zhí)行文件也可以是由軟件編譯器執(zhí)行的命令組成的文件。甚至 VB 或 Java 腳本或任何其他腳本語言源文件也可以被認(rèn)為是可執(zhí)行文件。
某些操作系統(tǒng)通過.exe 等擴(kuò)展來識別可執(zhí)行文件?;蛘?,他們可以通過元數(shù)據(jù)識別它,這標(biāo)志著文件具有執(zhí)行權(quán)限,就像在基于 Unix 的操作系統(tǒng)中所做的那樣。大多數(shù)操作系統(tǒng)通過驗證文件是否是有效的可執(zhí)行形式來啟動執(zhí)行過程,以避免隨機(jī)位序列被意外地作為指令執(zhí)行。
現(xiàn)代操作系統(tǒng)管理計算機(jī)資源。這意味著單獨的程序使系統(tǒng)調(diào)用訪問特權(quán)資源。由于每個品牌的操作系統(tǒng)都有自己的系統(tǒng)調(diào)用過程,因此可執(zhí)行文件通常是特定于操作系統(tǒng)的。有許多可用的方法可以使可執(zhí)行文件可由多個操作系統(tǒng)執(zhí)行,例如,實現(xiàn)類似或匹配的應(yīng)用程序二進(jìn)制接口。
各種可執(zhí)行文件并不總是堅持某個硬件二進(jìn)制接口或指令集。它們可以是字節(jié)碼形式,用于實時編譯,也可以是源代碼,用于腳本語言形式。
結(jié)構(gòu)
EXE文件分為兩個部分: EXE文件頭和程序本體。
exe文件比較復(fù)雜,屬于一種多段的結(jié)構(gòu),是DOS最成功和復(fù)雜的設(shè)計之一。每個exe文件包含一個文件頭和一個可重定位程序的映像。文件頭包含MS-DOS用于加載程序的信息,例如程序的大小和寄存器的初始值。文件頭還指向一個重定位表,該表包含指向程序映像中可重定位段地址的指針鏈表。
MS-DOS通過把該映像直接從文件復(fù)制到內(nèi)存加載exe程序,然后調(diào)整定位表中說明的可重定位段地址。定位表是一個重定位指針數(shù)組,每個指向程序映像中的可重定位段地址。
擴(kuò)展知識:
windows操作系統(tǒng)中的二進(jìn)制可執(zhí)行文件分兩種:一種后輟名為.COM,另一種是.EXE 。
在MS-DOS下,有重名的.EXE文件和.COM文件運行時,優(yōu)先執(zhí)行.COM文件。如果只有A.EXE,就可以直接輸入"A",而不用輸入全名。但如果有A.COM和A.EXE,輸入A則優(yōu)先執(zhí)行A.COM,要運行A.EXE只能輸入A.EXE而不能輸入A。
在WINDOWS系統(tǒng)中的執(zhí)行文件一般都是.EXE文件。在windows中,用戶在命令提示符輸入不帶 .exe 擴(kuò)展名的文件名后按 Enter 鍵或者點雙擊就能運行可執(zhí)行程序。
linux不像MS-DOS/windows一樣靠文件后綴名來判斷是否可執(zhí)行,而是靠文件屬性來判斷。每個文件專門有個屬性來表示文件是否可執(zhí)行,對于腳本之類的程序,文件第一行指明執(zhí)行本腳本的程序位置。