Gnu C ++ समर्थन C ++ 11 स्पष्ट रूप से इसके लिए पूछे बिना कब होगा? [c++]


Answers

निकटतम मैं एक जवाब जो मैं प्राप्त कर सकते हैं लगता है info gcc आदेश से है:

एक संशोधित आईएसओ सी ++ मानक 2011 में आईएसओ / आईईसी 14882: 2011 के रूप में प्रकाशित हुआ था, और इसे सी ++ 11 के रूप में संदर्भित किया गया है; इसके प्रकाशन से पहले इसे आमतौर पर सी ++ 0x कहा जाता था। C ++ 11 में सी ++ भाषा में कई बदलाव शामिल हैं, जिनमें से अधिकांश को जीसीसी में एक प्रायोगिक सी ++ 11 मोड में कार्यान्वित किया गया है। प्रयोगात्मक C ++ 11 मोड में उपलब्ध C ++ 11 सुविधाओं के बारे में जानकारी के लिए, http://gcc.gnu.org/projects/cxx0x.html देखें। जीसीसी में इस मानक का चयन करने के लिए, '-std = c ++ 11' विकल्प का उपयोग करें; मानक द्वारा आवश्यक सभी निदान प्राप्त करने के लिए, आपको '-पिंडी' (या '-पैतिक-त्रुटियों' को निर्दिष्ट करना चाहिए यदि आप चाहते हैं कि वे चेतावनियों के बजाय त्रुटियां हो)।

Http://gcc.gnu.org/projects/cxx0x.html पृष्ठ कहते हैं:

महत्वपूर्ण: C ++ 11 के लिए जीसीसी का समर्थन अभी भी प्रयोगात्मक है। कुछ विशेषताओं को प्रारंभिक प्रस्तावों के आधार पर लागू किया गया था, और पिछली संगतता को बनाए रखने के लिए कोई भी प्रयास नहीं किया जाएगा, जब उन्हें अंतिम सी ++ 11 मानक से मिलान करने के लिए अद्यतन किया जाता है।

Libstdc ++ पृष्ठ यह भी दिखाता है कि यह अधूरा है (मुझे यह भी नहीं लगता कि regex अभी भी कार्यान्वित किया गया है।)

स्टीव जेसप का उत्तर मूल रूप से पिछले पैराग्राफ में एक ही बात कहता है, लेकिन उसके जवाब के पहले भाग का उद्धरण देना:

C ++ 11 कुछ वर्षों के लिए मानक रहा है, लेकिन एक संकलक इसके डिफ़ॉल्ट मोड को C ++ 11 तक स्विच नहीं करने जा रहा है:

  • एक पूर्ण न्यूनतम पर, सी + + 11 का समर्थन उस कंपाइलर और लाइब्रेरीज़ में पूरा होता है जो इसका उपयोग करता है। और भी स्थिर, अगर संकलक लेखक की विश्वसनीयता के लिए सभी पर कोई चिंता है।
  • अधिमानतः, कंपाइलर में एक प्रमुख संस्करण संख्या में वृद्धि, चूंकि सी ++ 11 सी ++ 03 के लिए पूरी तरह पिछड़ा-संगत नहीं है।
  • आदर्श रूप से, एक प्रसिद्ध समय पर ताकि उपयोगकर्ता परिवर्तन के लिए तैयार कर सकें।
Question

वर्तमान में, जी ++ - 4.8.1 के साथ आपको सी ++ 11-मोड में एक फाइल को संकलित करना होगा

g++ -std=c++11 -o prog.x prog.cpp

क्या कोई योजना है जब मैं बस कह सकता हूँ

g++ -o prog.x prog.cpp

prog.cpp को संकलित करने के लिए?

शायद prog.cpp है

  • #include <regex>
  • thread_local
  • class Widget { int member = 5; }
  • MyType operator"" myt(const char*, sze_t);
  • और इसी तरह।



ऐसा लगता है कि जीसीसी 5.0 में ग्नू11 (c + + 11 AFAIK की बोली) डिफ़ॉल्ट रूप से सी ++ Https://gcc.gnu.org/gcc-5/changes.html देखें। ऐसा लगता है कि सी ++ 14 के लिए कुछ समर्थन भी होगा।

जहां तक ​​@ मार्क-ग्लिसे द्वारा साझा बगजिला परिदृश्य के संबंध में अधिक रोचक विवरणों में से एक को बंद किया गया लगता है, विवरण के लिए https://gcc.gnu.org/gcc-5/criteria.html देखें: -

बगजिला में खुले सभी रिग्रेन्स का विश्लेषण किया गया है, और सभी को समझा जाता है कि ज्यादातर उपयोगकर्ताओं को प्रभावित करने की संभावना नहीं है, या प्रभावित उपयोगकर्ताओं पर न्यूनतम प्रभाव रखने का दृढ़ संकल्प है। उदाहरण के लिए, निदान में एक टाइपोग्राफ़िकल त्रुटि अपेक्षाकृत आम हो सकती है, लेकिन उपयोगकर्ताओं पर न्यूनतम प्रभाव भी हो सकता है।

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

टाइमलाइन कुछ विचार देता है कि यह कब और कब होगा https://gcc.gnu.org/develop.html#timeline

इसलिए उम्मीद है कि हमें 2015 तक डिफ़ॉल्ट के रूप में सी ++ 11 समर्थन के साथ एक नया जीसीसी देखना चाहिए। जब ​​ग्नू / लिनक्स वितरण लेते हैं और सी ++ 11 के साथ बनाए गए सॉफ़्टवेयर के लिए जो कुछ भी करने की आवश्यकता होती है, वह एक और सवाल है।