執行檔:修订间差异
外观
删除的内容 添加的内容
小 機器人 正在新增: en:Executable |
修改一个来源 |
||
(未显示30个用户的42个中间版本) | |||
第1行: | 第1行: | ||
{{noteTA |
|||
'''執行檔'''在[[電腦科學]]上指一種內容可被電腦解釋為[[程式]]的[[電腦檔案]]。通常執行檔內含有以[[二進制]]編碼的[[微處理器]]指令,也因此執行檔有時稱為二進制檔。這些二進制數據於各種微處理器有所不同,故此執行檔多數要分開不同的微處理版本。一個電腦檔案是否執行檔,主要由作業系統的傳統決定。例如根據特定的命名方法(如[[副檔名]]為exe)或檔案的[[元數據]]資料(例如[[UNIX]]系統設定「可執行」權限)。 |
|||
|T=zh-hans:可执行文件;zh-hk:執行檔;zh-tw:執行檔; |
|||
|G1=IT |
|||
}} |
|||
{{各地中文名 |
|||
|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]]) |
|||
==常见的可执行文件后缀名== |
|||
⚫ | |||
不同操作系统有不同的可执行文件后缀,如: |
|||
不是所有的執行檔都只存有電腦能閱讀的資料。以[[腳本語言]]撰寫的[[腳本檔案]],都可以是執行檔,而且內含的資料可被人類閱讀,多數以ASCII文本存檔。原因是腳本語言無需經過編譯器預先[[編譯]]就可經過[[直譯器]](如[[Perl]]、[[Python]]、[[Shell]])執行。 |
|||
[[可移植可执行|PE]](Portable Executable)格式用于Windows系统: |
|||
⚫ | |||
⚫ | |||
⚫ | |||
*[[機器語言]] |
|||
* .[[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> |
|||
[[Category:程序| ]] |
|||
* .[[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> |
|||
[[de:Ausführbare Datei]] |
|||
[[en:Executable]] |
|||
* .run:用于安装程序或自解压安装包的文件。 |
|||
[[eo:Rulebla dosiero]] |
|||
* .bin:一般用于可执行的二进制文件或独立发行版中的可执行文件。 |
|||
[[es:Ejecutable]] |
|||
[[fr:Fichier exécutable]] |
|||
[[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> |
|||
[[he:קובץ הרצה]] |
|||
[[it:File eseguibile]] |
|||
* .app:包含可执行文件、资源和元数据,以文件夹形式出现,但实际是一个打包格式。 |
|||
[[ja:実行ファイル]] |
|||
[[nl:Executable]] |
|||
⚫ | |||
[[pl:Plik wykonywalny]] |
|||
脚本文件通常使用'''[[脚本语言]]'''编写<sub>,</sub> 不经过编译处理,文件中保存的仍然是原始代码,通常是可读的ASCII文本。而传统的可执行文件通常是编译后的二进制文件, 这些文件已经过编译器的处理,将源代码转化成机器代码,直接由计算机的CPU执行。脚本文件执行时由'''[[直譯器|解释器]]'''逐行读取并"翻译"给计算机执行。 |
|||
[[pt:Executável]] |
|||
[[ru:Исполнимый модуль]] |
|||
⚫ | |||
[[simple:Executable]] |
|||
⚫ | |||
[[sk:Spustiteľný program]] |
|||
⚫ | |||
[[sv:Exekverbar fil]] |
|||
[[ |
*[[机器语言]] |
||
{{Executables}} |
|||
[[Category:计算机编程|Zhixingwenjian]] |
|||
⚫ |
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系统:
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) (英语).