2013-08-05 9 views
5

this पर समान प्रश्न है लेकिन मैं उत्तर से संतुष्ट नहीं हूं।क्लैंग और क्लैंग-एमपी-3.3 (3.2 या 3.4) के बीच क्या अंतर है?

मैंने क्लैंग स्थापित करने का प्रयास किया। क्लैंग स्थापित करने की कोशिश करने के बाद मैं दो clang के साथ समाप्त हो गया। एक/है usr/bin/बजना या बजना ++ और अन्य /opt/local/bin/clang-mp-3.3 या बजना ++ - mp-3.3 (जो मैं macport से स्थापित)

वे एक ही काम करते हैं जब मैं साधारण प्रोग्राम संकलन लेकिन अलग-अलग जब मैं अन्य बड़े और जटिल सी ++ कोड को संकलित करने का प्रयास करता हूं। मैंने कुछ सिंहावलोकन प्राप्त करने के लिए documentation पढ़ने का प्रयास किया।

यहां इस ticket से मुझे पता था कि मैकपोर्ट क्लैंग जीसीसी के करीब है। मुझे पता है कि क्लैंग फ्रंट एंड जॉब (सी प्रकार भाषा दुभाषिया के रूप में) करता है और llvm वापस अंत है। पहली जगह में अंतर और कैसे आया? आपके समय के लिए शुक्रिया।

उत्तर

1

टीएल; डीआर: यदि वे एलएलवीएम रिलीज के मामले में पर्याप्त हैं तो उन्हें समान रूप से (संभवतः उनमें से एक पर अतिरिक्त अनुकूलन/सुविधाओं के साथ) व्यवहार करना चाहिए। लेकिन आपके पास इसका अर्थ जानने के लिए कोई जानकारी नहीं है जिसका उपयोग आप कर सकते हैं।

जो मैंने Portfile से देखा है, {llvm, clang} -3.4 बंदरगाहों (और अन्य समान, मुझे लगता है) एक सादा llvm और/या clang स्थापित करें।

उदाहरण के लिए: नवीनतम जारी किया Xcode के साथ आता है:

Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) 
Target: x86_64-apple-darwin13.2.0 
Thread model: posix 

एप्पल हमें विशिष्ट संशोधन संख्या नहीं बताता है, लेकिन हम उनके निजी बजना LLVM के एक संशोधन पर आधारित था पता के बीच ट्रंक के बंद branched 2013 के मध्य और 2014 की शुरुआत।

मुझे यह भी समझ में नहीं आता कि "मैकपोर्ट क्लैंग जीसीसी के करीब है" के साथ आपका क्या मतलब है। ऐसा कोई प्रतीत नहीं होता है, लेकिन मैं गलत व्याख्या कर सकता हूं। ऐप्पल का झुकाव मेनलाइन क्लैंग, AFAIK के काफी करीब है। उनके पास उनकी रिलीज है, जो अज्ञात संशोधन पर आधारित हैं, लेकिन फिर भी।

क्लैंग सी llvm प्रोजेक्ट के फ्रंट-एंड है। यह llvm समुदाय द्वारा संचालित है, और सभी (सार्वजनिक) काम मुख्य llvm भंडार (clang की निर्देशिका पर) में होता है। लेकिन आप अभी भी बिना किसी clvm, या clang के बिना llvm स्थापित कर सकते हैं (अधिकांश?) अन्य llvm उपयोगिताओं। यही कारण है कि आपके पास मैकपोर्ट पर क्लैंग और एलएलवीएम के लिए अलग-अलग पैकेज हैं।

आप क्यों कहते हैं कि वे अलग-अलग व्यवहार करते हैं, और वे कितने अलग व्यवहार करते हैं? क्या आप एक ही विकल्प के साथ संकलित कर रहे हैं? कौन सा? क्या वे दोनों एक ही रिलीज से हैं, जैसे कि 3.3 और 3.3 एसवीएन (इसका मतलब केवल उनके बीच लगभग 6 महीने है, यह उन्हें एक ही संस्करण नहीं बनायेगा)?

संबंधित मुद्दे