क्या एएए गेम्स के लिए जीएनयू जीसीसी का उपयोग किया जाता है?


11

जीएनयू जीसीसी एक बहुत ही सामान्य संकलक है, लेकिन ऐसा लगता है कि एएए गेम जैसी बड़ी परियोजनाओं के लिए लगभग कोई भी इसका उपयोग नहीं करता है। मेरे लिए, यह ठीक काम करता है, इसके साथ कभी कोई समस्या नहीं थी। लेकिन मुझे आश्चर्य है कि सभी एएए गेम इंटेल स्टूडियो जैसे वाणिज्यिक संकलक का उपयोग क्यों करते हैं? इससे क्या फर्क पड़ता है? जीएनयू जीसीसी भी सभी प्रणालियों के लिए कोड का अनुकूलन बल्कि तो बस इंटेल, तो क्यों वे जैसे इंटेल स्टूडियो के रूप में चीजों के साथ परेशान करते हैं?


जीसीसी था LLVM / बजना से पहले एक बहुत ही आम संकलक के आसपास आया था, या बजना के साथ यह कह रही: "? जीसीसी आप मतलब बजना था" ;)
माईक सेमर

क्लेंग क्या करता है? क्या यह एक संकलक है? यदि ऐसा है तो बेहतर है? O_o
लिक्विडफलाइन

Clang एक संकलक मंच के लिए एसी / सी ++ है जिसे llvm कहा जाता है। हाँ, यह कई मायनों में बेहतर है। शुरुआत के लिए यह मैक्रो में सटीक त्रुटि दिखाता है, न कि केवल उस रेखा पर जहां मैक्रो को बुलाया गया था। यह बेवकूफ इंटेलीजेंस समझ को और भी बेवकूफ बनाता है, क्योंकि यह एएसटी पेड़ तक पहुंचना आसान बनाता है, अतिरिक्त पार्सर की कोई आवश्यकता नहीं है। आंशिक कोड संकलन, सूची लंबी है, इस पर एक नज़र डालें, इसके लायक :)
माईक सेमर

जवाबों:


9

इंटेल की संकलक सिर्फ एक अलग संकलक है। जीसीसी ++ और वीसी ++ उत्पादन गुणवत्ता कोड का उत्पादन करते हैं, साथ ही इंटेल का आईसीसी भी करता है। मुख्य अंतर 4 प्रमुख क्षेत्रों में है:

  • क) समर्थित सुविधाएँ (ज्यादातर सी ++ 11 सुविधाओं पर भिन्न)
  • बी) निष्पादन योग्य आकार
  • c) रनटाइम
  • घ) संकलन समय

जब आप (सीपीयू) इंटेल सीपीयू (एएए) स्टूडियो के बाहर प्रदर्शन के हर अंतिम बिट को निचोड़ने की कोशिश कर रहे हैं, तो एएसी स्टूडियो उसके लिए भुगतान करने के लिए तैयार हैं और आईसीसी के लिए कुछ वसंत। एक बढ़िया किस्से के लिए यहाँ देखें । साथ ही साथ उसकी कमियों वाले खंड पर भी ध्यान दें, जहां ICC पर गैर-वास्तविक इंटेल निर्देश सीपीयू (जैसे एएमडी) पर कम से कम अच्छी तरह से चलने का आरोप है।


10

कई गैर-पीसी प्लेटफॉर्म, जिनमें कुछ कंसोल और हैंडहेल्ड शामिल हैं, एक संशोधित GCC को उनके प्राथमिक / एकमात्र संकलक के रूप में उपयोग करते हैं।

पीसी पर, अधिकांश गेम देव घरों में केवल विजुअल स्टूडियो के कंपाइलर का उपयोग किया जाता है। संकलक की पसंद का आमतौर पर इंजन डिजाइन और ग्राफिक्स की तुलना में रनटाइम गति पर बहुत कम प्रभाव पड़ता है, वे सभी विजुअल स्टूडियो के लिए भुगतान करते हैं, वैसे भी एक आईडीई के रूप में सेट होने के कारण, जीसीसी स्थापित करने और आरंभ करने के लिए तुलनात्मक रूप से कठिन है। और यह पुनरावृत्ति समय और उत्पादकता में सुधार करने के लिए बहुत कुछ नहीं करता है। केवल उन विकल्पों की तुलना में जीसीसी का उपयोग करने के लिए पर्याप्त कारण नहीं है, जो पहले से ही सभी में निवेश किए गए हैं।


ऐसा नहीं है कि जीसीसी के साथ शुरुआत करने के लिए थोड़ा कठिन है, लेकिन अगर आपके आवेदन को मल्टीथ्रेड किया जाता है, तो मिनगव को एक डीएलएल के साथ शिपिंग की आवश्यकता होती है - जीसीसी एसईएच की तुलना में एक अलग अपवाद तंत्र का उपयोग करता है जो डीएलएल को विंडोज पर आवश्यक बनाता है।
डायट्रिच एप

1
एक उदाहरण प्रदान करने के लिए, सोनी ने अपने आंतरिक संकलक से अपने PS3 प्राथमिक संकलक को जीसीसी में स्थानांतरित कर दिया क्योंकि यह बेहतर माना जाता था। और PS3 पर जारी एएए खिताब की कोई कमी नहीं है।
कागनार

नकारात्मक पक्ष यह है कि ये प्लेटफ़ॉर्म-विशिष्ट GCC आमतौर पर गंभीर रूप से पुराने हैं, आमतौर पर पूर्व GPLv3 और इसलिए पूर्व C ++ 11 और हाल ही के निदान और प्रदर्शन कार्यों में बहुत कमी है। : / कई विक्रेताओं द्वारा नए जीसीसी की यह अस्वीकृति एक और कारण हो सकती है कि बहुत सारे गेम डेवलपर्स जीसीसी से बच सकते हैं यदि वे कर सकते हैं; उनके पास विक्रेता टूलकिन्स के साथ अपने राज्य के अनुभव को देखते हुए अनुचित दृष्टिकोण हो सकता है। Apple प्लेटफार्मों पर अक्सर क्लैंग तुलनाओं को देखें जहां Clang 3.1 या तो GCC 4.2 के साथ तुलना की जाती है। (मैं एक क्लैंग प्रशंसक हूं, लेकिन तुलना आम तौर पर अनुचित होती है।)
सीन मिडलडिच

4

हां, इसका इस्तेमाल AA गेम्स के लिए किया जा सकता है।

लगभग हर एएए गेम का कारण वहां (यदि सभी नहीं हैं) वाणिज्यिक संकलक का उपयोग करते हैं, यह तथ्य है कि वाणिज्यिक उत्पादों का आमतौर पर समर्थन होता है और आप किसी भी समस्या से निपटने और एएए में 24/7 या सिर्फ एएसएपी की शिकायत कर सकते हैं या सहायता प्राप्त कर सकते हैं। उद्योग, समय का अर्थ है पैसा। बड़ी टीमों और कंपनियों, विशेष रूप से उत्तरार्द्ध, उस समुदाय पर भरोसा नहीं करना चाहते हैं जब बड़ा पैसा दांव पर है। अनुबंध द्वारा समर्थन में निवेश करना बेहतर है।

दूसरी ओर, इंजन एसडीके पर भरोसा करते हैं। यदि एसडीके एक संकलक का समर्थन नहीं करता है, तो इसका मतलब है कि आप अपने दम पर हैं और यह वर्कअराउंड करने के लिए लाभदायक नहीं है।

अंत में, अनुकूलन। यदि आप जानते हैं कि बहुत सारे खिलाड़ी इंटेल का उपयोग करते हैं, तो जिस बिल्ली को आप अपने खेल को उनके लिए दयापूर्वक वितरित करना चाहते हैं।


1
हर साल एक अरब टर्नअराउंड के साथ हमारी कंपनी fyi प्रीमियम स्तर पर toukut gcc और अन्य gnu देव उपकरण देने में सक्षम है।
lzap
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.