Виконані файли в Mac OS X проти Windows


11

Я бачив, що кожен виконуваний файл у Windows має розширення .exe. Але Mac OS X не має того самого.

Windows виконує файли .exe. Тоді які файли виконує Mac OS X?

Яка різниця між виконанням програм обома операційними системами?

Навіть я виявив, що установки Windows мають те саме розширення .exe, але для Mac-систем мають розширення .dmg

Чи поділіться, будь ласка, своїми знаннями про .dmg та виконувані файли на Macs vs. Windows?

Відповіді:


18

Розширення насправді не змінюють тип файлу, що є, хоча вони часто підказують системі, що робити з певним елементом.

DMG не є виконуваними файлами, вони є дисковими зображеннями. Це файли, які діють як диски, які часто містять виконувані файли та інші файли для додатків. Якщо ви двічі клацніть по одному, система змонтує його, і тоді ви отримаєте доступ до файлів всередині.

І Windows, і OS X виконують бінарні виконувані файли, хоча вони є в різних форматах. Велика різниця в тому, що бачить користувач при використанні графічного інтерфейсу, полягає в тому, що в Windows зазвичай ви бачите виконуваний файл .exe, який знаходиться в папці, що містить інші файли та інформацію, яку використовує програма. В OS X всі інші файли разом з первинним виконуваним файлом містяться у "пакеті" (справді папці) з розширенням .app. Подвійне натискання на пакет .app виконає внутрішній виконуваний файл та завантажить вашу програму.

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


Mac також виконує файли .pkg (пакет)
Joshkunz

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

Файли налаштування в Windows також часто надаються у файлах * .msi, формат яких читає Windows Installer , хоча строго кажучи, це не виконуваний файл


1
Файли MSI та JS є виконуваним, але не виконуваним. MSI представляє собою пакет установника: коли ви двічі клацніть по ньому, msiexec.exeпочинаються і відкриває його, так само , як ви могли б використовувати фарби для відкритого JPEGs - це не робить їх виконуваний файл. Так що JS використовується для їх відкриття (перевірте відділення HKCU у своєму реєстрі). BATs та CMD десь посередині, можна стверджувати, що вони виконуються - вони підтримуються Explorer, але все ж їх потрібно інтерпретувати. WScript.exe
gronostaj

таким чином .NET EXE-файли теж не "виконувані файли", тому що вони можуть працювати лише в рамках .NET, а не безпосередньо CPU
phuclv

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