執行檔
「執行檔」的各地常用名稱 | |
---|---|
中國大陸 | 可執行文件 |
臺灣 | 執行檔 |
程式執行 |
---|
基礎概念 |
代碼類型 |
編譯策略 |
|
知名執行環境 |
著名編譯器及工具鏈 |
可執行檔是一種特定格式的檔案,可以由電腦的作業系統直接載入並執行。可執行檔通常包含了程式的機器語言(編譯後的二進制代碼), 還有一些用於系統載入和執行的元資料。
相容性限制
可執行檔的內容和結構包含機器指令和系統呼叫,與作業系統和硬體架構密切相關。例如: 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系統:
ELF(Executable and Linkable Format)是Linux和Unix系統中的標準:[3][4]
- .run:用於安裝程式或自解壓安裝套件的檔案。
- .bin:一般用於可執行的二進制檔案或獨立發行版中的可執行檔。
Mach-O(Mach Object)格式用於macOS系統:[5]
- .app:包含可執行檔、資源和元資料,以資料夾形式出現,但實際是一個打包格式。
指令碼檔案
指令碼檔案通常使用手稿語言編寫, 不經過編譯處理,檔案中儲存的仍然是原始代碼,通常是可讀的ASCII文字。而傳統的可執行檔通常是編譯後的二進制檔案, 這些檔案已經過編譯器的處理,將原始碼轉化成機器碼,直接由電腦的CPU執行。指令碼檔案執行時由直譯器逐行讀取並"翻譯"給電腦執行。
參看
- ^ WineHQ - Run Windows applications on Linux, BSD, Solaris and macOS. WineHQ. [2024-11-13]. (原始內容存檔於2024-11-13) (英語).
- ^ Karl-Bridge-Microsoft. PE Format - Win32 apps. learn.microsoft.com. 2024-02-29 [2024-11-13] (美國英語).
- ^ Linux Foundation - Decentralized innovation, built with trust. www.linuxfoundation.org. [2024-11-13] (英語).
- ^ Linux Foundation Referenced Specifications. refspecs.linuxfoundation.org. [2024-11-14].
- ^ Overview of the Mach-O Executable Format. developer.apple.com. [2024-11-13]. (原始內容存檔於2024-07-23) (英語).