GNU GCC AAA oyunları için kullanılıyor mu?


11

GNU GCC çok yaygın bir derleyicidir, ancak neredeyse hiç kimse onu AAA oyunları gibi daha büyük projeler için kullanmıyor gibi görünüyor. Bana göre, gayet iyi çalışıyor, onunla hiç problem yaşamadım. Ama merak ediyorum neden tüm AAA oyunları Intel Studio gibi ticari derleyiciler kullanıyor? Neden fark eder? GNU GCC, kodu yalnızca Intel yerine tüm sistemler için optimize eder, neden Intel Studio gibi şeylerle uğraşıyorlar?


GCC oldu LLVM / Clang önce çok yaygın bir derleyici geldi ya clang söyleyerek: "? Gcc ortalama clang Öyle mi" ;)
Maik Semder

Clang ne yapar? Bir derleyici mi? Eğer öyleyse daha iyi mi? O_o
LiquidFeline

Clang, llvm adında bir derleyici platformu için ac / c ++ ön ucudur. Evet, birçok yönden daha iyi. Yeni başlayanlar için, yalnızca makronun çağrıldığı satırı değil, bir makrodaki kesin hatayı gösterir. AST ağacına erişmeyi kolaylaştırdığı için, aptal zeka hissinin daha aptal görünmesini sağlar, ekstra bir ayrıştırıcıya gerek yoktur. Kısmi kod derleme, liste uzun, ona bir göz atın, buna değer :)
Maik Semder

Yanıtlar:


9

Intel'in derleyicisi sadece farklı bir derleyicidir. GCC ++ ve VC ++, Intel'in ICC'sinin yanı sıra üretim kalitesi kodu da üretir. Temel fark 4 kilit alanda yatmaktadır:

  • a) Desteklenen özellikler (çoğunlukla C ++ 11 özelliklerinde farklılık gösterir)
  • b) Yürütülebilir boyut
  • c) Çalışma Zamanı
  • d) Derleme zamanı

Intel CPU'lardan son performansın her bitini sıkıştırmaya çalıştığınızda, AAA stüdyoları bunun için ve ICC için bir miktar bahar ödemeye hazırdır. Harika bir fıkra hikayesi için buraya bakın . ICC'nin orijinal olmayan Intel yönerge seti CPU'larında (örn. AMD'lerde) iyi çalışmadığı iddia edilen dezavantajları bölümüne de dikkat edin.


10

Bazı konsollar ve el bilgisayarları dahil olmak üzere birçok PC dışı platform, birincil / tek derleyici olarak değiştirilmiş bir GCC kullanır.

PC'de, çoğu oyun geliştirme evi sadece Visual Studio'nun derleyicisini kullanır. Derleyici seçiminin motor tasarımına ve grafiklerine kıyasla çalışma zamanı hızı üzerinde çok az etkisi vardır, hepsi IDE olarak ayarlanmış olması nedeniyle Visual Studio için ödeme yapmıştır, GCC'nin kurulumu ve başlaması nispeten daha zordur. yineleme süresini ve üretkenliğini artırmak için fazla bir şey yapmaz. Herkesin zaten yatırım yaptığı alternatiflere kıyasla, GCC'yi kullanmak için yeterli bir neden yoktur.


Sadece GCC'nin başlaması biraz daha zor değildir, ancak uygulamanız çok iş parçacıklıysa MinGW bir DLL ile gönderilmesini gerektirir - GCC, DLL'yi Windows'ta gerekli kılan SEH'den farklı bir istisna mekanizması kullanır.
Dietrich Epp

1
Bir örnek vermek gerekirse, Sony PS3 birincil derleyicilerini dahili derleyicilerinden GCC'ye taşıdı çünkü daha iyi kabul edildi. Ve PS3'te yayınlanan AAA oyunlarının sıkıntısı yok.
Kaganar

Dezavantajı, platforma özgü GCC'lerin genellikle çok güncel olmaması, genellikle GPLv3 öncesi ve dolayısıyla C ++ 11 öncesi ve aynı zamanda birçok yeni teşhis ve performans çalışmasının eksik olmasıdır. : / Birçok satıcı tarafından daha yeni GCC'nin reddedilmesi, birçok oyun geliştiricisinin yapabildiği takdirde GCC'den kaçınmasının başka bir nedeni olabilir; satıcı araç zincirleri konusunda deneyim sahibi oldukları durum hakkında haksız bir görüşe sahip olabilirler. Apple platformlarında Clang 3.1 ya da daha fazlasının GCC 4.2 ile karşılaştırıldığı sık Clang karşılaştırmalarına bakın. (Ben bir Clang hayranıyım, ancak karşılaştırmalar genellikle haksız.)
Sean Middleditch

4

Evet, AA oyunları için kullanılabilir.

Hemen hemen her AAA oyununun ticari derleyicileri kullanmasının nedeni, ticari ürünlerin genellikle desteğe sahip olması ve sahip olabileceğiniz herhangi bir sorunla ve AAA'da 24/7 veya sadece ASAP'den şikayet veya yardım alabilmenizdir. sanayi, zaman para demektir. Büyük takımlar ve şirketler, özellikle de ikincisi, büyük para söz konusu olduğunda topluluğa güvenmek istemiyorlar. Sözleşmeyle desteğe yatırım yapmak daha iyidir.

Öte yandan, motorlar SDK'lara güveniyor. SDK bir derleyiciyi desteklemiyorsa, kendi başınıza olduğunuz anlamına gelir ve geçici çözümü yapmak karlı değildir.

Son olarak, optimizasyon. Birçok oyuncunun Intel kullandığını biliyorsanız, oyununuzu onlar için nezaketle teslim etmek istersiniz.


1
fyi firmamız her yıl bir milyar geri dönüş ile premium düzeyde gcc ve diğer gnu dev araçlarını destekleyebilmektedir.
lzap
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.