Yanıtlar:
Bahsettiğiniz oyunlar .NET Framework'e dayanıyor ve Microsoft'un .NET Framework'ün ücretsiz ve açık kaynaklı bir uygulaması olan Mono ile çalışıyor.
Bu uygulamalar .NET tabanlı olduğundan, Meclisler .dll uzantısına sahiptir. Böylece klasörlerde DLL dosyalarını görebilirsiniz.
Platformlar arası kullanım için tasarlanmış bir .NET programı, Windows, Linux veya Mac'te, MSIL'de derlenen ve yürütülecek bir .NET / Mono çalışma zamanı gerektiren aynı "ikili dosyalar" (aynı zamanda derlemeler içeren DLL'ler) ile de çalışabilir. .
Lütfen, Ubuntu depolarında bulunan Mono Framework tabanlı bazı ücretsiz uygulamaların (sadece oyunların) olmadığını unutmayın. Örneğin: Tomboy.
.dll
ve dahil dosya uzantılarının .so
Linux'ta anlamsız olduğunu unutmayın . Onlar sadece bizim rahatlığımız için kullanılıyor.
gcc
örn gibi verilen bir kütüphane bulamazsınız -lm
onun dosya adı ile bitmiyor eğer .so
ya .a
ya sürüm bilgisi varyantları da bunların.
İçindeki .dll
dosyalar GameDataFolder/Managed
, Mono’yu dahili olarak kullanan bir yerel kod programına aittir.
Platformlar arası çalıştırılabilir dosyalar ve .NET Common Language Runtime veya Mono tarafından çalıştırılabilen paylaşılan kütüphaneler, genellikle Windows'a özgü olmasalar da, sırasıyla sırasıyla .exe
ve .dll
soneklerle adlandırılır . Bir .dll
programda Ubuntu gibi bir GNU / Linux sistemi veya Windows dışında bir işletim sistemi için bir dosya bulduğunuzda , genellikle bu yüzdendir. .dll
Bir Ubuntu sisteminde bulduğun çoğu zaman , Golboth'un cevabı açıklıyor. Ama burada olanlar tam olarak bu değil.
Unity oyun motoru - ile karıştırılmamalıdır en Ubuntu sürümlerde varsayılan grafik arayüzü popüler tescilli çapraz platform oyun motoru --is. Bu motor yok değil .NET Framework veya Mono üstünde çalışır. Bunun yerine, Mono'nun üstüne çıktığını söyleyen Mono'yu gömer . Bu, geliştiricilerin, Unity motorunun bir parçası olmayan oyunlarının ihtiyaç duyduğu kodları nasıl yazdıklarını açıklar.
Genel olarak, Mono, tam .NET / Mono programlarını çalıştırmak için Microsoft'un .NET CLR'sinin kullanıldığı şekilde kullanılabilir. Ancak Mono, bu uygulamaların özelleştirilmesini sağlamak da dahil olmak üzere, yerel kod uygulamalarına kolayca yerleştirilebilecek şekilde tasarlanmıştır . Tarif ettiğiniz durumda olan şey budur. Gördüğünüz dosyalar doğrudan Mono veya .NET CLR üzerinde çalışan bir programa ait değildir. Bunun yerine Mono'yu yerleştiren bir yerel kod programına aittirler.
Çoğunlukla C ++ dilinde yazılan Unity oyun motoru, sisteminizin paket yöneticisi tarafından yüklenen sürümü (varsa) kullanmayan - ve bundan farklı olan - kendi Mono örneğini barındırıyor. Bu gömülü Mono çalışma zamanı, bağımsız .NET / Mono programlarını çalıştırmak için kullanılamaz, çünkü bu amacı değildir. Bunun yerine, motorun yerel kod kısmı CIL kodunu çalıştırmak için kullanır. (CIL resmi adı olan Common Intermediate Language'dir . Microsoft, orijinal olarak geliştirdiğinden beri MSIL veya Microsoft Intermediate Language olarak adlandırılmıştı.) Unity motorunu kullanan oyunlar yapan programcılar genellikle kendi kodlarını C # dilinde yazıyorlardı. Desteklenmektedir.
Unity motoru, Mono'yu Windows'ta bile gömüyor. İçin Evrensel Windows Platform ve başka hiçbir platformlarda - - oyunlar yerine Mono Microsoft .NET Framework kullanır. Ancak Unity oyunlarının çoğu, çoğu mobil cihaz ve oyun konsolu dahil olmak üzere çoğu platformda ve Ubuntu ve Windows dahil olmak üzere Mono'yu kullanıyor. Bazı platformlarda IL2CPP , Mono'ya alternatif olarak mevcuttur ve yalnızca bir kaç IL2CPP desteklenmektedir. Ayrıntılar için Komut dosyası kısıtlamaları konusuna bakın .
.dll
Ubuntu'da Dosyaları Görebileceğiniz Diğer Durumlar.dll
Ubuntu'da bir dosya görmenizin muhtemel olduğu iki durum tarif edilmiştir:
.dll
Ubuntu sisteminde en çok göreceğiniz şey bu. Bu sadece klasörünüzdeki .dll
dosyaların ne işe yaradığı anlamına gelmez GameDataFolder/Managed
..dll
Ubuntu'da bir dosya görebileceğiniz diğer iki yaygın durum vardır :
.dll
dosyalar yerine .exe
dosyalar üretir . .NET Çekirdek (CoreCLR denir) çalışma zamanı ve olmayan normal .NET Framework veya Mono, bu dosyaları çalıştırır. .NET Çekirdek bir Microsoft ürünü olmakla birlikte, standart .NET Framework aksine NET Çekirdek çapraz platform ile resmi destek Ubuntu gibi GNU / Linux sistemleri için, ve ücretsiz açık kaynak yazılım ..dll
Ubuntu'da gördüğünüz bir dosya sadece bir Windows kütüphanesi olacaktır. Program bir Ubuntu sistemi depolanıyorsa ancak Windows'da çalışıyorsa veya Ubuntu'da bir Windows sürücüsü taktıysanız bunu görebilirsiniz. Ayrıca Wine ile birlikte gelen veya winetricks
başka Windows yazılımlarını desteklemek için otomatik olarak yüklediğiniz yazılım da dahil olmak üzere Wine kullanarak Ubuntu'da çalıştırılabilen programlarla bağlantılı olarak görebilirsiniz .Bu, .dll
Ubuntu'da karşılaşabileceğiniz tüm durumları ayrıntılı bir şekilde listeleme girişimi değildir . (Örneğin, bir OS / 2 kütüphanesi de olabilir .) Ancak, bu dört vakanın en yaygın olanlar olduğuna inanıyorum.