आप " सेटिंग और gccgo का उपयोग कर " में अधिक देख सकते हैं :
गोकोगो, गो भाषा के लिए एक संकलक। Gccgo संकलक GCC के लिए एक नया दृश्यपटल है।
ध्यान दें कि gccgo gc संकलक नहीं है
जैसा कि " Gccgo in GCC 4.7.1 " में समझाया गया है (जुलाई 2012)
गो भाषा को हमेशा एक युक्ति द्वारा परिभाषित किया गया है, न कि कार्यान्वयन। गो टीम ने दो अलग-अलग संकलक लिखे हैं जो उस कल्पना को लागू करते हैं: gc और gccgo।
- जीसी मूल संकलक है, और गो टूल डिफ़ॉल्ट रूप से इसका उपयोग करता है।
- Gccgo एक अलग फोकस के साथ एक अलग कार्यान्वयन है
जीसी की तुलना में, gccgo कोड संकलित करने के लिए धीमा है, लेकिन अधिक शक्तिशाली अनुकूलन का समर्थन करता है, इसलिए gccgo द्वारा निर्मित सीपीयू-बाउंड प्रोग्राम आमतौर पर तेजी से चलेगा।
इसके अलावा:
- जीसी कंपाइलर केवल सबसे लोकप्रिय प्रोसेसर का समर्थन करता है: x86 (32-बिट और 64-बिट) और एआरएम।
- Gccgo, हालांकि, सभी प्रोसेसर का समर्थन करता है जो GCC का समर्थन करता है।
उन सभी प्रोसेसरों को पूरी तरह से gccgo के लिए परीक्षण नहीं किया गया है, लेकिन कई में x86 (32-बिट और 64-बिट), SPARC, MIPS, PowerPC और यहां तक कि अल्फा भी शामिल है।
Gccgo को ऑपरेटिंग सिस्टम पर भी परीक्षण किया गया है कि gc संकलक समर्थन नहीं करता है, विशेष रूप से Solaris।
यदि आप कोई मानक जाओ रिहाई से यात्रा के दौरान आदेश स्थापित करते हैं, यह पहले से ही समर्थन करता है के माध्यम से gccgo -compiler
विकल्प: go build -compiler gccgo myprog
।
संक्षेप में: gccgo: अधिक अनुकूलन, अधिक प्रोसेसर ।
हालाँकि, OneOfOne ( स्रोत ) द्वारा टिप्पणी के रूप में , अक्सर गोकोगो द्वारा समर्थित गो के बीच एक वंशानुक्रम होता है, और नवीनतम विमोचन होता है:
gccgo केवल वर्जन v1.2 तक का समर्थन करता है , इसलिए यदि आपको 1.3 / 1.4 (टिप) gccgo कैंट में कुछ भी नया प्रयोग करने की आवश्यकता है। -
GCC रिलीज़ 4.9 में गोको का गो 1.2 (1.3 नहीं) संस्करण होगा ।
जीसीसी और गो परियोजनाओं के लिए रिलीज़ शेड्यूल संयोग नहीं करता है, जिसका मतलब है कि 1.3 विकास शाखा में उपलब्ध होगा लेकिन अगले जीसीसी रिलीज़, 4.10, में संभवतः गोकोगो का गो 1.4 संस्करण होगा।
ब्रैड फिट्ज़पैट्रिक की प्रस्तुति की स्लाइड में ट्वोटवोट्वो का उल्लेख है
gccgo बहुत अच्छा कोड उत्पन्न करता है
... लेकिन भागने के विश्लेषण का अभाव है: कई छोटे allocs + कचरा के साथ प्रदर्शन को मारता है
... GC सटीक नहीं है। 32-बिट के लिए बुरा।
twotwotwo कहते हैं:
एक अन्य स्लाइड में उल्लेख किया गया है कि गैर-जीसीओ एआरएम कोड पीढ़ी विस्की है।
यह मानते हुए कि यह आपकी परियोजना के लिए एक दिलचस्प विकल्प है, संभवतः अपने लक्ष्य वास्तुकला पर अपने उपयोग के मामले के लिए बायनेरिज़ की तुलना करें।
के रूप में peterSO टिप्पणियां , जाओ 1.5 अब (Q3 / Q4 2015) का अर्थ है:
कंपाइलर और रनटाइम अब पूरी तरह से गो (थोड़ा असेंबलर के साथ) में लिखे गए हैं।
सी अब कार्यान्वयन में शामिल नहीं है, और इसलिए सी कंपाइलर जो एक बार वितरण के निर्माण के लिए आवश्यक था वह चला गया है ।
"गो इन गो" स्लाइड का उल्लेख करें:
C चला गया है।
साइड नोट: gccgo अभी भी मजबूत हो रहा है।
Berkant पूछता टिप्पणी में अगर gccgo
है क्या gc
से बूटस्ट्रैप किया गया था।
Jörg W Mittag उत्तर:
नहीं, gccgo
बाद में दिखाई दिया gc
।
gc
मूल रूप से सी में लिखा गया था। यह केन थॉम्पसन के सी कंपाइलर पर आधारित है , जो प्लैंक 9 ऑपरेटिंग सिस्टम , यूनिक्स का उत्तराधिकारी है, जिसे उसी लोगों द्वारा डिजाइन किया गया है। gc
गो में लिखे गए अपने आप को अधिक से अधिक करने के लिए पुनरावृत्त किया गया था।
gccgo
इयान लांस टेलर द्वारा शुरू किया गया था , एक जीसीसी हैकर जो गो परियोजना से संबद्ध नहीं था।
ध्यान दें कि पहले पूरी तरह से स्व-होस्टेड गो संकलक वास्तव में विंडोज के लिए एक मालिकाना वाणिज्यिक बंद-स्रोत कार्यान्वयन था, जिसका नाम मेरे मस्तिष्क से गायब हो गया लगता है ठीक उसी तरह जैसे कि यह इंटरनेट से किया था। उन्होंने गो में लिखा एक सेल्फ-होस्टेड कंपाइलर होने का दावा किया, ऐसे समय में विंडोज को लक्षित करना जहां gccgo
अभी तक मौजूद नहीं था और gc
विंडोज के लिए सेट करने के लिए बेहद दर्दनाक था। (आपको मूल रूप से एक पूर्ण साइग्विन वातावरण स्थापित करना था, स्रोत कोड को पैच करना और स्रोत से संकलित करना।) कंपनी को लगता है कि हालांकि, इससे पहले कि वे कभी उत्पाद का विपणन करने में कामयाब रहे।
हेक्टर चू ने 2009 के नवंबर में गो का एक विंडोज पोर्ट जारी किया था।
और go-lang.cat-v.org/os-ports
पेज में जोस / जोसेफ पोइयर के प्रारंभिक काम का भी उल्लेख किया गया है। में यह पेज :
किसी भी मौका है कि किसी को पता है कि लोगों में से एक ( एलेक्स ब्रेनमैन - हेक्टर चू - जोसेफ Poirier) विंडोज पोर्ट के निर्माण में शामिल एक अनुरोध कर सकते हैं एक विकी प्रविष्टि उनके निर्माण पर्यावरण का ब्यौरा बना सकता है?
इसमें जोड़ें ( गो में वेब ऐप्स लिखने में ) ! 京Writing (वीए गुआंगजिंग) ।