我已经看到Windows中的每个可执行文件都具有.exe扩展名。但是Mac OS X没有相同的功能。
Windows执行.exe文件。那Mac OS X执行哪种文件呢?
两种操作系统的应用程序执行之间有什么区别?
甚至我发现Windows安装程序都具有相同的扩展名.exe,但在Mac上安装程序具有扩展名.dmg
您能否与我分享有关Macs和Windows上的.dmg和可执行文件的知识?
我已经看到Windows中的每个可执行文件都具有.exe扩展名。但是Mac OS X没有相同的功能。
Windows执行.exe文件。那Mac OS X执行哪种文件呢?
两种操作系统的应用程序执行之间有什么区别?
甚至我发现Windows安装程序都具有相同的扩展名.exe,但在Mac上安装程序具有扩展名.dmg
您能否与我分享有关Macs和Windows上的.dmg和可执行文件的知识?
Answers:
扩展名实际上不会更改文件的类型,尽管扩展名通常会向系统提示对特定项目的处理方式。
DMG不是可执行文件,它们是光盘映像。它们是充当光盘的文件,通常包含可执行文件和应用程序的其他文件。当您双击一个文件时,系统会挂载它,然后您就可以访问其中的文件。
Windows和OS X都执行二进制可执行文件,尽管它们的格式不同。用户在使用GUI时所看到的最大区别在于,在Windows上通常会看到.exe可执行文件,该文件位于包含其他文件和程序使用信息的文件夹中。在OS X上,所有其他文件以及主要可执行文件都包含在扩展名为.app的“捆绑包”(实际上是一个文件夹)中。双击.app捆绑包将执行内部可执行文件并加载您的应用程序。
在GUI之外,在实际的文件结构中,Mac和Windows系统确实非常相似。这些差异主要是关于系统如何向用户呈现事物以在GUI中进行操作的问题。
您当然也可以执行将权限设置为可执行文件的任何文件,前提是该文件实际上包含有效的程序。
Windows中的每个可执行文件均具有.exe扩展名
这是不正确的。在DOS中,有2个可执行文件扩展名:*.COM和*.EXE。Windows继承了这些,因此它也支持* .com和* .exe。请注意,*。exe只是包含各种可执行文件格式的“容器”
如果运行不带扩展名的命令,Windows将在%pathext%环境变量中附加扩展名并进行搜索,直到找到具有该名称的第一个文件。变量的默认值是这样的
>echo %pathext%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
如您所见,Windows将运行其他可执行文件类型(无扩展名),但是其中大多数是脚本而不是二进制可执行文件。
但是,Windows 实际上并没有使用文件扩展名来确定文件格式。以MZ(MZ格式的签名)开头的所有文件都将被视为可执行文件。
通过引入Windows-subsystem-for-linux, Windows 10还具有运行Linux ELF二进制文件的能力
Windows中的安装文件通常也以* .msi文件的形式提供,该文件是Windows Installer读取的格式,尽管严格来说,它不是可执行文件。
msiexec.exe启动并打开它,就像可以使用Paint打开JPEG一样-它不会使它们成为可执行文件。因此,使用JS WScript.exe来打开它们(请检查注册表中的HKCU分支)。BAT和CMD介于两者之间,有人可能会争辩说它们是否可执行-Explorer本身支持它们,但仍必须对其进行解释。