Mac OS X ve Windows'ta yürütülebilir dosyalar


11

Windows'daki her yürütülebilir dosyanın .exe uzantılı olduğunu gördüm. Ancak Mac OS X aynı değildir.

Windows .exe dosyalarını yürütür. Peki Mac OS X ne tür dosyaları yürütür?

Her iki işletim sisteminin uygulamaları yürütmesi arasındaki fark nedir?

Windows kurulumlarının aynı uzantı .exe'ye sahip olduğunu, ancak bir Mac kurulumunda .dmg uzantısına sahip olduğunu bile buldum

Mac ve Windows'ta .dmg ve yürütülebilir dosyalar hakkındaki bilginizi benimle paylaşır mısınız?

Yanıtlar:


18

Uzantılar aslında bir şeyin ne tür bir dosya olduğunu değiştirmez, ancak genellikle sisteme belirli bir öğeyle ne yapacağını ima ederler.

DMG'ler yürütülebilir değil, disk görüntüsüdür. Bunlar, genellikle yürütülebilir dosyalar ve uygulamalar için diğer dosyaları içeren diskler gibi davranan dosyalardır. Birini çift tıkladığınızda, sistem onu ​​bağlar ve daha sonra içindeki dosyalara erişebilirsiniz.

Hem Windows hem de OS X, farklı biçimlerde olmalarına rağmen ikili yürütülebilir dosyaları yürütür. Bir kullanıcının GUI'yi kullanırken gördüğü en büyük fark, genellikle Windows'ta, programın kullandığı diğer dosyaları ve bilgileri içeren bir klasörde bulunan .exe yürütülebilir dosyasını görmenizdir. OS X'te, tüm diğer dosyalar, birincil yürütülebilir dosya ile birlikte, .app uzantılı bir "pakette" (gerçekten bir klasör) bulunur. Bir .app paketine çift tıklandığında dahili yürütülebilir dosya yürütülür ve uygulamanız yüklenir.

GUI dışında, gerçek dosya yapısında, Mac ve Windows sistemleri gerçekten oldukça benzerdir; bu farklılıklar çoğunlukla sistemin kullanıcı arayüzünde manipülasyon için işleri nasıl sunduğuna dair bir sorudur.


Mac ayrıca .pkg (paket) dosyalarını yürütür
Joshkunz

2
.pkg dosyaları, yürütülebilir ve diğer yükleyici verilerini içeren sıkıştırılmış dosya paketleridir; bu, tam olarak yerleştirilmiş, sıkıştırılmış bir .app gibi, kurulum için tasarlanmıştır.
phoebus

3
.pkg dosyaları aslında Installer.app için teknik belgelerdir. Aslında ayrı bir program olarak çalışırlarsa, gerçek .pkgs değildir.
Chealion

Doğru, bu noktada daha açık olabilirdim.
phoebus

@phoebus - Açık olmak gerekirse, bir .pkg, kullanıcıların web sitemden indirmelerini teklif edemediğim bir şeyde olduğu gibi bir klasör değil, web sitemden indirmeleri için sunabileceğim bir şeyde olduğu gibi bir dosya mıdır?
ArtOfWarfare

4

Ayrıca, geçerli bir program içermesi koşuluyla, izinleri yürütülebilir olarak ayarlanmış herhangi bir dosyayı yürütebilirsiniz.


1
Mac os üzerindeki yerel yürütülebilir biçim mach-O BTW'dir. tr.wikipedia.org/wiki/Mach-O
Fred

4

.dmgdosyaları, normalde Mac uygulamalarını yüklemek için kullanılan disk görüntü dosyalarıdır. Yüklendikten sonra Mac uygulamaları genellikle uzantısına sahiptir .app, ancak bu uzantı normalde kullanıcıdan gizlenir. Mac uygulamaları kullanıcıya tek bir dosya olarak görünen paketlerdir. Bu, uygulamaları yeni bir klasöre veya yeni bir bilgisayara taşımayı çok kolaylaştırır.


0

Windows'daki her yürütülebilir dosyanın .exe uzantısı vardır

Bu doğru değil. DOS'ta 2 yürütülebilir dosya uzantısı vardı: *.COMve *.EXE. Windows bunları devraldı, böylece * .com ve * .exe dosyalarını da destekliyor . * .Exe dosyasının yalnızca çeşitli yürütülebilir biçimler içeren "kapsayıcı" olduğunu unutmayın.

Uzantısı olmayan bir komut çalıştırırsanız, Windows %pathext%ortam değişkenine uzantıları ekler ve bu ada sahip ilk dosyayı bulana kadar arar. Değişkenin varsayılan değeri şu şekildedir

>echo %pathext%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

Gördüğünüz gibi , Windows'un çalıştırabileceği başka bir yürütülebilir dosya türü vardır (bir uzantı olmadan), ancak bunların çoğu komut dosyalarıdır ve ikili yürütülebilir dosyalar değildir .

Bununla birlikte Windows , dosya biçimini belirlemek için dosya uzantısını kullanmaz. İle başlayan tüm dosyalarMZ (MZ formatının imzasıdır) yürütülebilir bir dosya olarak değerlendirilecektir .

Windows 10 ayrıca, lansmanı ile Linux ELF ikili dosyalarını çalıştırma yeteneğine de sahiptir.

Windows'daki kurulum dosyaları da genellikle Windows Installer tarafından okunan bir format olan * .msi dosyalarında sağlanır , ancak kesinlikle yürütülebilir bir dosya değildir.


1
MSI'lar ve JS dosyaları yürütülebilir, ancak yürütülebilir değil. Eğer çift, tıkladığınız: MSI bir yükleyici paketi msiexec.exebaşlar ve açık JPEG için Boya kullanabilirsiniz gibi, onu açan - onları yapmaz bir yürütülebilir. JS ile WScript.exebunları açmak için kullanılır (kayıt defterinizdeki HKCU dalını kontrol edin). MET'ler ve CMD'ler aradaki bir yerdedir, çalıştırılabilir olup olmadıkları tartışılabilir - yerel olarak Explorer tarafından desteklenir, ancak yine de yorumlanması gerekir.
gronostaj

bu şekilde .NET exe dosyaları da "çalıştırılabilir" değildir, çünkü doğrudan CPU tarafından değil, yalnızca .NET çerçevesi altında çalışabilirler
phuclv

1
Bu, 'çalıştırılabilirliği' nasıl tanımladığınıza bağlıdır. MSI'ların şüphesiz çalıştırılabilir olmadığına inanıyorum, çünkü bunlar sadece bir arşiv - yükleyiciler için optimize edilmiş, ancak bu durumda önemli değil. ZIP'lerden daha fazla çalıştırılabilir değiller. Her tür komut dosyası 'çalıştırılabilirliğin' kenarındadır, çünkü bir tercümana ihtiyaçları vardır. .NET EXE'lerin nasıl yürütüldüğüne dair ayrıntıları bilmiyorum, ancak CLASS ile aynı durum olduğunu söyleyebilirim - makine kodunun bir türünü içerirler (çeviri / yorum gerektirir, ancak yine de).
gronostaj
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.