मैं इसे पढ़ने में थोड़ा परेशान हूं: Gcc 4.5 online manual --- Standards section।जी ++ मानकों का समर्थन
वे समझाने इस
मूल आईएसओ सी ++ मानक आईएसओ मानक (आईएसओ/आईईसी 14882: 1998) के रूप में प्रकाशित किया गया था और एक तकनीकी शुद्धिपत्र 2003 (आईएसओ/आईईसी 14882: 2003) में प्रकाशित द्वारा संशोधित। इन मानकों को क्रमशः सी ++ 98 और सी ++ 03 के रूप में जाना जाता है। जीसीसी सी ++ 98 के बहुमत को लागू करता है (निर्यात एक उल्लेखनीय अपवाद है) और सी ++ 03 में अधिकांश बदलाव।
लेकिन वे यह नहीं बताते कि क्या जीसीसी 'नंगे' 98 सी ++ या केवल सही सी ++ 03 का समर्थन करता है या नहीं। 'सी भाषा' अनुभाग में स्पष्टीकरण और अधिक स्पष्ट है: 1999 आईएसओ सी मानक में
त्रुटियाँ तीन तकनीकी शुद्धिपत्र में सही किया गया 2001, 2004 और 2007 में प्रकाशित जीसीसी uncorrected संस्करण का समर्थन नहीं करता।
तो मेरा सवाल यह है: क्या यह जी ++ (अनिश्चित मानक का कोई समर्थन नहीं) के मामले में भी है?
केवल 4 विकल्पों में एक ग्राम का चयन करने के ++ मानक तो हैं -std=c++98
, -std=gnu++98
, -std=c++0x
, और -std=gnu++0x
। क्या वो सही है ?
और अंतिम सबक्वेस्टियन: -ansi
विकल्प तब क्या है? क्या यह केवल सी मोड में प्रयोग किया जाता है?
संपादित करें:
-std = C89 के लिए एक पर्याय -ansi (सी के लिए) या -std = C++ 98
* क्यों * आप अनिश्चित मानक का समर्थन करना चाहते हैं? –
यह जांचने का एक प्रश्न था कि क्या मैं सी ++ 98, सी ++ 03, आदि और जीसीसी दस्तावेज़ के बीच संबंधों को सही ढंग से समझता हूं; एक "मैं चाहता हूं" नहीं। –
ध्यान दें कि सी ++ 03 मानक पाठ और सी ++ 98 टेक्स्ट के बीच मतभेदों का एक महत्वपूर्ण हिस्सा अस्पष्टताओं के स्पष्टीकरण हैं और जैसे - संकलक सी ++ 98 को लागू करने का प्रयास करते समय खोजे गए परिवर्तन। वहां, जीसीसी उचित रूप से सी ++ 98 का समर्थन नहीं कर सका। – MSalters