跳转到内容

執行檔:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
D41D8CD98F留言 | 贡献
增加或调整内部链接
修改一个来源
 
(未显示11个用户的12个中间版本)
第1行: 第1行:
{{noteTA
{{noteTA
|T=zh-hans:可执行文件; zh-hans:可执行文件; zh-hant:執行檔; zh-hk:執行檔;
|T=zh-hans:可执行文件;zh-hk:執行檔;zh-tw:執行檔;
|G1=IT
|G1=IT
}}
}}
{{各地中文名
'''執行檔'''在[[電腦科學]]上,指一種內容可被電腦解釋為[[程式]]的[[電腦檔案]]。通常執行檔內,含有以[[二進制]]編碼的[[微處理器]]指令,也因此執行檔有時稱為二進制檔。這些二進制微處理器指令的編碼,於各種微處理器有所不同,故此執行檔多數要分開不同的微處理版本。一個電腦檔案是否為執行檔,主要由作業系統的傳統決定。例如根據特定的命名方法(如[[副檔名]]為[[exe]])或檔案的[[元數據]]信息(例如[[UNIX]]系統設定「可執行」權限)。
|cn = 可执行文件
|tw = 執行檔
}}
{{Program execution}}
'''可执行文件'''是一种特定格式的文件,可以由计算机的[[操作系统]]直接加载并执行。可执行文件通常包含了程序的[[机器语言]](编译后的[[二进制文件|二进制]]代码), 还有一些用于系统加载和运行的元数据。


== 兼容性限制 ==
==現代的執行檔==
可执行文件的内容和结构包含机器指令和系统调用,与操作系统和硬件架构密切相关。例如: Windows上的 .exe 文件包含Windows系统特有的结构和指令,Linux不直接支持这些文件格式和指令集。
在現代的各種[[電腦架構]],執行檔除了有程式的資訊之外,還有其他資訊,例如讓程式運行的作業系統設定值數據、[[调试]]資料等等。


CPU架构与指令集同样会影响可执行文件的兼容性, 常见的CPU架构有x86、x86-64、ARM等,可能需要根据不同的CPU架构分别编译不同的可执行文件。
==二進制檔==
作此含義特指無法廣泛應用於其他計算機針對特定操作系統配置的軟體發行模式。


为了让Windows可执行文件在Linux上运行,可以使用 [[Wine]]: Wine是一个开源的兼容层,提供了Windows API的实现,允许部分Windows程序在Linux或MacOS系统上运行。<ref>{{Cite web|title=WineHQ - Run Windows applications on Linux, BSD, Solaris and macOS|url=https://www.winehq.org/|website=WineHQ|language=en|url-status=live|archive-url=https://web.archive.org/web/20241113043908/https://www.winehq.org/|archive-date=2024-11-13|access-date=2024-11-13}}</ref>
==系統調用==
除了[[微處理器]]指令,執行檔也具有[[系統調用]]資料,讓程式可使用作業系統提供的服務。因為[[系統調用]]資料,在各作業系統都有所不同,因此執行檔除多數要分開不同的微處理版本,也有分開不同作業系統版本。


==常見執行檔副檔名==
==常可执行文件后缀名==
不同操作系统有不同的可执行文件后缀,如:
* .exe(Dos、Windows系列)
* .com(Dos、Windows系列)
* .App(以檔案夾存在,[[Mac OS X]])


[[可移植可执行|PE]](Portable Executable)格式用于Windows系统:
==本==
不是所有的執行檔,都只存有電腦能閱讀的資料。以[[腳本語言]]撰寫的[[腳本檔案]],都可以是執行檔,而且內含的資料可被人類閱讀,多數以ASCII文本存檔。原因是:腳本語言無需經過編譯器預先[[編譯]],就可經過[[直譯器]](如[[Perl]]、[[Python]]、[[Shell]])執行。


* .[[EXE格式|exe]]:目前最常见的 Windows 可执行文件格式。<ref>{{Cite web|title=PE Format - Win32 apps|url=https://learn.microsoft.com/en-us/windows/win32/debug/pe-format|website=learn.microsoft.com|date=2024-02-29|language=en-us|last=Karl-Bridge-Microsoft|access-date=2024-11-13}}</ref>
==看==
* .[[COM格式|com]]:早期DOS格式的可执行文件,体积通常小于.exe文件。
*[[源代碼]]

*[[編譯器]]
[[可執行與可鏈接格式|ELF]](Executable and Linkable Format)是Linux和Unix系统中的标准:<ref>{{Cite web|title=Linux Foundation - Decentralized innovation, built with trust|url=https://www.linuxfoundation.org/|website=www.linuxfoundation.org|language=en|access-date=2024-11-13}}</ref><ref>{{Cite web|title=Linux Foundation Referenced Specifications|url=https://refspecs.linuxfoundation.org/|website=refspecs.linuxfoundation.org|access-date=2024-11-14}}</ref>
*[[言]]

* .run:用于安装程序或自解压安装包的文件。
* .bin:一般用于可执行的二进制文件或独立发行版中的可执行文件。

[[Mach-O]](Mach Object)格式用于[[macOS]]系统:<ref>{{Cite web|title=Overview of the Mach-O Executable Format|url=https://developer.apple.com/library/archive/documentation/Performance/Conceptual/CodeFootprint/Articles/MachOOverview.html|website=developer.apple.com|language=en|archive-url=https://web.archive.org/web/20240723085912/https://developer.apple.com/library/archive/documentation/Performance/Conceptual/CodeFootprint/Articles/MachOOverview.html|archive-date=2024-07-23|access-date=2024-11-13}}</ref>

* .app:包含可执行文件、资源和元数据,以文件夹形式出现,但实际是一个打包格式。

==文件==
脚本文件通常使用'''[[脚本语言]]'''编写<sub>,</sub> 不经过编译处理,文件中保存的仍然是原始代码,通常是可读的ASCII文本。而传统的可执行文件通常是编译后的二进制文件, 这些文件已经过编译器的处理,将源代码转化成机器代码,直接由计算机的CPU执行。脚本文件执行时由'''[[直譯器|解释器]]'''逐行读取并"翻译"给计算机执行。

==看==
*[[源代碼|源代码]]
*[[编译器]]
*[[言]]

{{Executables}}


[[Category:计算机编程|Zhixingwenjian]]
[[Category:计算机编程|Zhixingwenjian]]
[[Category:软件工程|Zhixingwenjian]]
[[Category:软件工程|Zhixingwenjian]]

[[bg:Изпълним файл]]
[[ca:Executable]]
[[cs:Spustitelný soubor]]
[[de:Ausführbare Datei]]
[[el:Εκτελέσιμο αρχείο]]
[[en:Executable]]
[[eo:Rulebla dosiero]]
[[es:Ejecutable]]
[[fr:Fichier exécutable]]
[[he:קובץ הרצה]]
[[it:File eseguibile]]
[[ja:実行ファイル]]
[[kk:Атқарылатын файл]]
[[ko:실행 파일]]
[[nl:Executable]]
[[pl:Plik wykonywalny]]
[[pt:Executável]]
[[ru:Исполнимый модуль]]
[[simple:Executable]]
[[sk:Spustiteľný program]]
[[sv:Exekverbar fil]]
[[tr:Executable]]
[[uk:Виконуваний файл]]

2024年11月14日 (四) 12:03的最新版本

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

可执行文件是一种特定格式的文件,可以由计算机的操作系统直接加载并执行。可执行文件通常包含了程序的机器语言(编译后的二进制代码), 还有一些用于系统加载和运行的元数据。

兼容性限制

[编辑]

可执行文件的内容和结构包含机器指令和系统调用,与操作系统和硬件架构密切相关。例如: 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) (英语).