可執行文件是一種特定格式的文件,可以由計算機的操作系統直接加載並執行。可執行文件通常包含了程序的機器語言(編譯後的二進制代碼), 還有一些用於系統加載和運行的元數據。

「執行檔」的各地常用名稱
中國大陸可執行文件
臺灣執行檔

兼容性限制

可執行文件的內容和結構包含機器指令和系統調用,與操作系統和硬件架構密切相關。例如: Windows上的 .exe 文件包含Windows系統特有的結構和指令,Linux不直接支持這些文件格式和指令集。

CPU架構與指令集同樣會影響可執行文件的兼容性, 常見的CPU架構有x86、x86-64、ARM等,可能需要根據不同的CPU架構分別編譯不同的可執行文件。

為了讓Windows可執行文件在Linux上運行,可以使用 Wine: Wine是一個開源的兼容層,提供了Windows API的實現,允許部分Windows程序在Linux或MacOS系統上運行。[1]

常見的可執行文件後綴名

不同操作系統有不同的可執行文件後綴,如:

PE(Portable Executable)格式用於Windows系統:

  • .exe:目前最常見的 Windows 可執行文件格式。[2]
  • .com:早期DOS格式的可執行文件,體積通常小於.exe文件。

ELF(Executable and Linkable Format)是Linux和Unix系統中的標準:[3][4]

  • .run:用於安裝程序或自解壓安裝包的文件。
  • .bin:一般用於可執行的二進制文件或獨立發行版中的可執行文件。

Mach-O(Mach Object)格式用於macOS系統:[5]

  • .app:包含可執行文件、資源和元數據,以文件夾形式出現,但實際是一個打包格式。

腳本文件

腳本文件通常使用腳本語言編寫, 不經過編譯處理,文件中保存的仍然是原始代碼,通常是可讀的ASCII文本。而傳統的可執行文件通常是編譯後的二進制文件, 這些文件已經過編譯器的處理,將源代碼轉化成機器代碼,直接由計算機的CPU執行。腳本文件執行時由解釋器逐行讀取並"翻譯"給計算機執行。

參看

  1. ^ WineHQ - Run Windows applications on Linux, BSD, Solaris and macOS. WineHQ. [2024-11-13]. (原始內容存檔於2024-11-13) (英語). 
  2. ^ Karl-Bridge-Microsoft. PE Format - Win32 apps. learn.microsoft.com. 2024-02-29 [2024-11-13] (美國英語). 
  3. ^ Linux Foundation - Decentralized innovation, built with trust. www.linuxfoundation.org. [2024-11-13] (英語). 
  4. ^ Linux Foundation Referenced Specifications. refspecs.linuxfoundation.org. [2024-11-14]. 
  5. ^ Overview of the Mach-O Executable Format. developer.apple.com. [2024-11-13]. (原始內容存檔於2024-07-23) (英語).