Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Linux

लिनक्स पर G++ कंपाइलर का उपयोग कैसे करें

संकलन प्रक्रिया किसी भी C++ कोडिंग प्रोजेक्ट का एक बड़ा हिस्सा है। आपको एक ऐसे कंपाइलर की आवश्यकता है जो प्रभावी और सरल हो, साथ ही विभिन्न प्रकार की कार्यक्षमता भी प्रदान करता हो। यहीं पर G++ कंपाइलर आता है। यह कमांड लाइन से सीधे आपकी संकलन आवश्यकताओं के लिए विभिन्न प्रकार के फ़ंक्शन प्रदान करता है। यहां हम आपको दिखाते हैं कि इस बेहतरीन टूल के साथ कैसे शुरुआत करें।

G++ क्या है?

G++ को एक C++ कंपाइलर के रूप में सबसे अच्छा वर्णित किया जा सकता है जो आपकी कमांड लाइन से चलता है। इसे फ्री सॉफ्टवेयर फाउंडेशन द्वारा जारी किया गया था और यह GCC (GNU कंपाइलर संग्रह) का हिस्सा है। यह आपके कोड को, जो एक उच्च-स्तरीय प्रोग्रामिंग भाषा (इस मामले में, C++) में लिखा गया है, एक निम्न-स्तरीय भाषा में बदलकर एक निष्पादन योग्य फ़ाइल में बदल देता है जिसे कंप्यूटर द्वारा समझा जाता है।

इंस्टॉलेशन

अधिकांश लिनक्स इंस्टॉलेशन G++ के साथ बॉक्स से बाहर आते हैं। हालांकि, यदि आपका पसंदीदा डिस्ट्रो नहीं करता है, तो यहां साथ चलें और सीखें कि इसे लिनक्स के कुछ सबसे सामान्य वितरणों पर कैसे इंस्टॉल किया जाए।

उबंटू और डेबियन पर, apt पैकेज मैनेजर का उपयोग करके इसे इंस्टॉल करें:

sudo apt update && sudo apt install g++

फेडोरा और सेंटओएस पर, yum पैकेज मैनेजर का उपयोग करके इसे इंस्टॉल करें:

sudo yum install g++

आप इसे pkgs.org से एक पैकेज के रूप में भी डाउनलोड कर सकते हैं। यह Curl टूल का उपयोग करके किया जा सकता है:

sudo curl https://ftp.de.debian.org/debian/pool/main/g/gcc-defaults/g++_10.2.1-1_amd64.deb -O

आप dpkg उपयोगिता का उपयोग करके पैकेज इंस्टॉल कर सकते हैं:

sudo dpkg -i g++.deb

यह जांचने के लिए कि G++ इंस्टॉल है या नहीं, --version फ्लैग का उपयोग करें:

g++ --version

बुनियादी उपयोग

अब जब G++ इंस्टॉल हो गया है, तो आप इसका उपयोग अपनी संकलन आवश्यकताओं के लिए शुरू कर सकते हैं।

सबसे पहले, --help फ्लैग का उपयोग करके मैनुअल देखना उपयोगी है:

g++ --help

कभी-कभी कंपाइलर और इसकी सेटिंग्स के बारे में अतिरिक्त जानकारी देखना उपयोगी होता है। आप --dumpspecs फ्लैग का उपयोग करके कंपाइलर के बिल्ट-इन स्पेक स्ट्रिंग्स को प्रदर्शित कर सकते हैं:

g++ --dumpspecs

यह आपको इसकी क्षमताओं और विभिन्न विकल्पों का एक बुनियादी अवलोकन देगा।

G++ का उपयोग करके बुनियादी संकलन करने के लिए, निम्न प्रारूप का उपयोग करें:

g++ [file]

यदि हमारे पास "main.cpp" नाम की एक फ़ाइल है, उदाहरण के लिए, हम इसे निम्न टाइप करके संकलित कर सकते हैं:

g++ main.cpp

संकलित निष्पादन योग्य फ़ाइल डिफ़ॉल्ट रूप से "a.out" नामित है।

इसे निम्न टाइप करके चलाएं:

./a.out

यदि आप संकलित निष्पादन योग्य फ़ाइल का नाम निर्दिष्ट करना चाहते हैं, तो -o फ्लैग का उपयोग करके ऐसा करें:

g++ -o [name] [file to compile]

मान लें कि आप निष्पादन योग्य फ़ाइल का नाम "main" निर्दिष्ट करना चाहते हैं। आप निम्न टाइप करेंगे:

g++ -o main main.cpp

यदि आप ऑब्जेक्ट फ़ाइलों को एक साथ लिंक करना चाहते हैं, तो निम्न प्रारूप का उपयोग करके ऐसा करें:

g++ -o [compiled file] [obj1.o] [obj2.o]

यदि, उदाहरण के लिए, आप "object-1.o" और "object-2.o" ऑब्जेक्ट फ़ाइलों को "main" निष्पादन योग्य फ़ाइल में संकलित करना चाहते हैं, तो आप निम्न टाइप करेंगे:

g++ -o main object-1.o object-2.o

यदि आप एक रूट डायरेक्टरी निर्दिष्ट करना चाहते हैं, जहां लाइब्रेरी और हेडर पाए जा सकते हैं, तो --sysroot फ्लैग का उपयोग करें:

g++ -o [name] --sysroot [directory] main.ccp

"-Wall" का उपयोग करके चेतावनी संदेश दिखाना

कभी-कभी आपके कंपाइलर के लिए कोड संकलित करते समय सभी चेतावनी संदेश दिखाना उपयोगी होता है। सौभाग्य से, G++ में यह कार्यक्षमता अंतर्निहित है और उपयोग के लिए तैयार है।

सभी चेतावनी संदेश दिखाने के लिए, -Wall फ्लैग का उपयोग करें (कृपया ध्यान दें अपरकेस "W"):

g++ -o main main.cpp -Wall

स्टेटिक लाइब्रेरी बनाना

लाइब्रेरी बनाना सॉफ्टवेयर विकास का उतना ही बड़ा हिस्सा है जितना सही कोड एडिटर चुनना। ar कमांड जैसे कुछ ट्रिक्स के साथ, आप G++ का उपयोग करके आसानी से एक लाइब्रेरी संकलित कर सकते हैं।

एक ऑब्जेक्ट फ़ाइल संकलित करके शुरू करें:

g++ -o obj.o main.cpp

इसके बाद, एक संग्रह (".a") फ़ाइल बनाने के लिए "rcs" के साथ ar उपयोगिता का उपयोग करें:

ar rcs archive.a obj.o

अंत में, इसे G++ के साथ उपयोग करें:

g++ -o final example.cpp archive.a

अक्सर पूछे जाने वाले प्रश्न

1. क्या मैं इस टूल का उपयोग .c फ़ाइलों को संकलित करने के लिए कर सकता हूं?

तकनीकी रूप से, आप कर सकते हैं। हालांकि, gcc उपयोगिता इसके लिए अधिक उपयुक्त है क्योंकि G++ मुख्य रूप से एक C++ कंपाइलर है। इसके अतिरिक्त, G++ वैसे भी .c फ़ाइलों को C++ फ़ाइलों के रूप में व्यवहार करेगा।

यदि आप G++ का उपयोग करके .c फ़ाइलों को संकलित करना चाहते हैं, तो बस -c फ्लैग का उपयोग करें:

g++ -c [example.c] -o example

2. मुझे GCC का उपयोग C++ कंपाइलर के रूप में क्यों नहीं करना चाहिए?

आप GCC का उपयोग C++ कंपाइलर के रूप में बहुत अच्छी तरह से कर सकते हैं। हालांकि, G++ वास्तव में GCC का एक अनुकूलन है जो C++ पर अधिक केंद्रित है। इस प्रकार, यह C++ कोड के साथ काम करने वाले प्रोग्रामर के लिए कुछ अतिरिक्त कार्यक्षमता और सुविधाएं प्रदान करता है।

3. नवीनतम संस्करण क्या है?

Q1 2022 तक G++ का नवीनतम संस्करण 11.2.0 प्रतीत होता है। इसे जुलाई 2021 में जारी किया गया था।

  1. लिनक्स टर्मिनल को कैलकुलेटर के रूप में कैसे उपयोग करें लिनक्स टर्मिनल को कैलकुलेटर के रूप में कैसे उपयोग करें

    क्या आप फैंसी GUI पर लिनक्स टर्मिनल की सादगी पसंद करते हैं? यदि आपको जल्दी से कुछ गणित करने की आवश्यकता है, तो आपको कैलकुलेटर ऐप का उपयोग करने की आवश्यकता नहीं है। आप उन टूल का उपयोग करके टर्मिनल का उपयोग करके अपनी गणना कर सकते हैं जो शायद आपके पास पहले से इंस्टॉल हैं। आइए देखें कि आप लिनक्स टर्मिनल

  1. लिनक्स में tee कमांड का उपयोग कैसे करें लिनक्स में tee कमांड का उपयोग कैसे करें

    यदि आप कभी अपने लिनक्स शेल के तहत पाइप और रीडायरेक्शन का उपयोग करते हैं, तो संभावना है कि आपको कभी-कभी tee यूटिलिटी का उपयोग करने की भी आवश्यकता होगी। tee क्या करता है? ls जैसी कमांड आपके वर्तमान डायरेक्टरी की सामग्री प्रदर्शित करेगी। दूसरे शब्दों में, यह इन सामग्री को stdout (स्टैंडर्ड आउटपुट) पर प

  1. Linux में नेटवर्क कनेक्शन मॉनिटर करने के लिए ss कमांड का उपयोग कैसे करें Linux में नेटवर्क कनेक्शन मॉनिटर करने के लिए ss कमांड का उपयोग कैसे करें

    यदि आप Linux का उपयोग करते हैं, तो शायद ऐसा समय आएगा जब आपको अपने नेटवर्क के बारे में अधिक जानने की आवश्यकता होगी। कई टूल इसमें आपकी मदद कर सकते हैं, और कुछ दूसरों की तुलना में अधिक जटिल हैं। ss कमांड एक ऐसा टूल है जिस पर आप भरोसा कर सकते हैं कि यह कई मशीनों पर इंस्टॉल होगा, इसलिए इसे जानना उपयोगी ह