मैं G ++ के साथ C ++ 11 का उपयोग कैसे करूं?


21

मैं वर्तमान में अपने सभी कोड को gedit में टाइप कर रहा हूं और अपने कार्यक्रमों को संकलित करने के लिए टर्मिनल का उपयोग कर रहा हूं। ऐसा करने के लिए, मैं टाइप कर रहा हूं:

$ g++ main.cpp -o main
$ ./main

और यह काम कर रहा है। हालाँकि, यह C ++ 11 का उपयोग नहीं कर रहा है। मैं C ++ के अपने संस्करण की जांच कैसे कर सकता हूं और C ++ 11 का उपयोग करके टर्मिनल के माध्यम से भी संकलन कर सकता हूं?



क्या आपको हमेशा -dd = c ++ 11 शामिल करना है या क्या कोई सेटिंग है ताकि हर बार मैं इसे स्वचालित रूप से संकलित कर सकूं c ++ 11 या
फ्रेंच माइक

जवाबों:


53

यह आप -std=c++11ध्वज का उपयोग करके कर सकते हैं । यहाँ एक उदाहरण है:

g++ -std=c++11 -Wall -Wextra -Werror main.cpp -o main

इस मोड को -std=c++11कमांड-लाइन फ्लैग के साथ या -std=gnu++11GNU एक्सटेंशन को सक्षम करने के लिए चुना जा सकता है । ( स्रोत )

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

  • -Wall - सभी प्रमुख चेतावनियों को सक्षम करता है।
  • -Wextra - अन्य महत्वपूर्ण चेतावनियों को सक्षम करता है।
  • -Werror- सभी चेतावनियों को त्रुटियों में बदल दें, जिससे किसी भी चेतावनी की सूचना मिलने पर संकलन विफल हो जाए।

सूत्रों का कहना है:

  1. जीसीसी: विकल्प सारांश
  2. जीसीसी: चेतावनियों का अनुरोध करने या दबाने का विकल्प

5
धन्यवाद! क्या आपको यह समझाने में मन लगता है कि कृपया किस उद्देश्य से "-Wall" और "-Werror" सेवा करें?

1
इसे मेरे जवाब में जोड़ दिया।
वीडियोनौथ

7
@ dhaneku.b: प्रलेखन क्यों नहीं पढ़ा? यह वही है जिसके लिए यह है।
लाइटनेस दौड़ मोनिका के साथ

9
@LightnessRacesinOrbit क्योंकि प्रलेखन जरूरी नहीं समझा जा रहा है कि क्यों Videonauth सोचा था कि उन्हें जोड़ना महत्वपूर्ण था, इस तथ्य के बावजूद कि वे मूल उदाहरण कमांडलाइन में नहीं थे, या जरूरी समझाएं कि किस तरह की महत्वपूर्ण बातचीत "-Wall" और " -वेरर "-std = c ++ 11" के साथ हो सकता है। (हां, इसमें उत्तरार्द्ध का जवाब "कुछ खास नहीं" है, लेकिन प्रलेखन ऐसा कहने वाला नहीं है, और अजीब कोने के मामलों का एक गुच्छा है जो दस्तावेज़ीकरण में उल्लेख नहीं किया गया है। अनुपस्थिति का सबूत ", और वह सब।)
आरएम

2
इस विधा के साथ चुना जा सकता है -std=c++11आदेश-पंक्ति ध्वज, या -std=gnu++11साथ-साथ जीएनयू एक्सटेंशन को सक्षम करने (। स्रोत )
Videonauth
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.