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