可執行檔是一種特定格式的檔案,可以由電腦的作業系統直接載入並執行。可執行檔通常包含了程式的機器語言(編譯後的二進制代碼), 還有一些用於系統載入和執行的元資料。

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

相容性限制

編輯

可執行檔的內容和結構包含機器指令和系統呼叫,與作業系統和硬體架構密切相關。例如: 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) (英語).