Исполняемые файлы в Mac OS X против Windows


11

Я видел, что каждый исполняемый файл в Windows имеет расширение .exe. Но Mac OS X не имеет того же самого.

Windows выполняет файлы .exe. Тогда какие файлы выполняет Mac OS X?

В чем разница между выполнением приложений в обеих операционных системах?

Даже я обнаружил, что настройки Windows имеют то же расширение .exe, но на компьютерах Mac есть расширение .dmg

Не могли бы вы поделиться со мной своими знаниями о .dmg и исполняемых файлах на Mac или Windows?

Ответы:


18

Расширения фактически не меняют тип файла, хотя они часто намекают системе на то, что делают с определенным элементом.

DMG не являются исполняемыми файлами, это образы дисков. Это файлы, которые действуют как диски, которые часто содержат исполняемые файлы и другие файлы для приложений. Когда вы дважды щелкаете по нему, система монтирует его, и у вас появляется доступ к файлам внутри.

И Windows, и OS X исполняют двоичные исполняемые файлы, хотя они имеют разные форматы. Большая разница в том, что видит пользователь при использовании графического интерфейса, заключается в том, что в Windows вы обычно видите исполняемый файл .exe, который находится в папке, содержащей другие файлы и информацию, которую использует программа. В OS X все эти другие файлы вместе с основным исполняемым файлом содержатся в «комплекте» (на самом деле в папке) с расширением .app. Двойной щелчок на пакете .app запустит внутренний исполняемый файл и загрузит ваше приложение.

За пределами графического интерфейса в реальной файловой структуре системы Mac и Windows действительно очень похожи; Эти различия в основном связаны с тем, как система представляет пользователю вещи для манипуляции в графическом интерфейсе.


Mac также выполняет файлы
.pkg

2
Файлы .pkg - это сжатые пакеты файлов, содержащие исполняемый файл и другие данные установщика, наподобие полностью сжатого сжатого .app, предназначенного для установки.
Феб

3
Файлы .pkg фактически являются документами для Installer.app. Если они на самом деле запускаются как отдельная программа, они не являются настоящими .pkgs.
Chealion

Правда, я мог бы быть более ясным в этом вопросе.
Феб

@phoebus - Итак, чтобы быть ясным, файл .pkg - это файл, который я могу предложить пользователям загрузить с моего веб-сайта, а не папку, как что-то, что я не могу предложить пользователям загрузить с моего веб-сайта?
ArtOfWarfare

4

Вы также сможете выполнить любой файл, для которого установлены права доступа к исполняемому файлу, если, конечно, он содержит действительную программу.


1
Собственный исполняемый формат на Mac OS - Mach-O BTW. en.wikipedia.org/wiki/Mach-O
Фред,

4

.dmgфайлы - это файлы образов дисков, которые обычно используются для установки приложений Mac. После установки приложения Mac обычно имеют расширение .app, но это расширение обычно скрыто от пользователя. Приложения Mac - это пакеты, которые отображаются пользователю в виде одного файла. Это делает очень удобным перемещение приложений в новую папку или на новый компьютер.


0

каждый исполняемый файл в 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 10 также имеет возможность запускать исполняемые файлы Linux ELF с введением

Установочные файлы в Windows также часто предоставляются в файлах * .msi, формат которых читается установщиком Windows , хотя, строго говоря, это не исполняемый файл.


1
Файлы MSI и JS являются исполняемыми, но не исполняемыми. MSI представляет собой пакет установщика: когда вы дважды щелкните по нему, msiexec.exeначинаются и открывает его, так же , как вы могли бы использовать краски для открытого JPEGs - это не делает их исполняемый файл. Так что с JS, используется для их открытия (проверьте ветку HKCU в вашем реестре). BAT и CMD находятся где-то посередине, можно спорить, являются ли они исполняемыми - они изначально поддерживаются Explorer, но все равно должны интерпретироваться. WScript.exe
Гроностай

таким образом. exe-файлы .NET также не являются «исполняемыми файлами», потому что они могут работать только в
среде

1
Это зависит от того, как вы определяете «исполняемость». Я считаю, что MSI, без сомнения, не являются исполняемыми, потому что они представляют собой просто архив, оптимизированный для установщиков, но в данном случае это не имеет значения. Они не более исполняемые, чем ZIP. Сценарии любого вида находятся на грани «выполнимости», потому что им нужен интерпретатор. Я не знаю подробностей о том, как исполняются .NET EXE-файлы, но я бы сказал, что это тот же случай, что и CLASS - они содержат какой-то машинный код (который требует перевода / интерпретации, но все же).
Гроностай
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.