संकलन प्रक्रिया किसी भी सी ++ कोडिंग प्रोजेक्ट का एक बड़ा हिस्सा है। आपको एक ऐसे कंपाइलर की आवश्यकता है जो प्रभावी और सरल हो, साथ ही विभिन्न प्रकार की कार्यक्षमता भी प्रदान करता हो। यह वह जगह है जहां जी ++ कंपाइलर आता है। यह सीधे कमांड लाइन से आपकी संकलन आवश्यकताओं के लिए कई प्रकार के कार्य प्रदान करता है। यहां हम आपको दिखाते हैं कि इस बेहतरीन टूल के साथ शुरुआत कैसे करें।
g++ क्या है?
जी ++ को सी ++ कंपाइलर के रूप में सबसे अच्छा वर्णित किया गया है जो आपकी कमांड लाइन से चलता है। यह फ्री सॉफ्टवेयर फाउंडेशन द्वारा जारी किया गया था और यह जीसीसी (जीएनयू कंपाइलर कलेक्शन) का हिस्सा है। यह आपके कोड को एक उच्च-स्तरीय प्रोग्रामिंग भाषा (इस मामले में, C++) में लिखा गया है, इसे कंप्यूटर द्वारा समझी जाने वाली निम्न-स्तरीय भाषा में बदलकर एक निष्पादन योग्य फ़ाइल में बदल देता है।
इंस्टॉलेशन
अधिकांश लिनक्स इंस्टॉलेशन सीधे बॉक्स के बाहर स्थापित जी ++ के साथ आते हैं। हालांकि, अगर आपकी पसंद का डिस्ट्रो नहीं है, तो यहां का अनुसरण करें और जानें कि इसे लिनक्स के कुछ सबसे सामान्य वितरणों पर कैसे स्थापित किया जाए।
उबंटू और डेबियन पर, apt
. का उपयोग करके इसे स्थापित करें पैकेज मैनेजर:
sudo apt update && sudo apt install g++
Fedora और CentOS पर, इसे yum
. का उपयोग करके स्थापित करें पैकेज मैनेजर:
sudo yum install g++
आप इसे pkgs.org से पैकेज के रूप में भी डाउनलोड कर सकते हैं। यह कर्ल टूल का उपयोग करके किया जा सकता है:
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]
मान लें कि आप निष्पादन योग्य फ़ाइल का नाम "मुख्य" के रूप में निर्दिष्ट करना चाहते हैं। आप निम्न टाइप करेंगे:
g++ -o main main.cpp
यदि आप ऑब्जेक्ट फ़ाइलों को एक साथ लिंक करना चाहते हैं, तो निम्न प्रारूप का उपयोग करके ऐसा करें:
g++ -o [compiled file] [obj1.o] [obj2.o]
यदि, उदाहरण के लिए, आप "ऑब्जेक्ट-1.o" और "ऑब्जेक्ट-2.o" ऑब्जेक्ट फ़ाइलों को "मुख्य" निष्पादन योग्य फ़ाइल में संकलित करना चाहते हैं, तो आप निम्न टाइप करेंगे:
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
इसके बाद, ar
. का उपयोग करें संग्रह (".a") फ़ाइल बनाने के लिए "rcs" के साथ उपयोगिता:
ar rcs archive.a obj.o
अंत में, इसे g++ के साथ प्रयोग करें:
g++ -o final example.cpp archive.a
अक्सर पूछे जाने वाले प्रश्न
<एच3>1. क्या मैं इस टूल का उपयोग .c फ़ाइलों को संकलित करने के लिए कर सकता हूँ?
तकनीकी रूप से, आप कर सकते हैं। हालांकि, gcc
उपयोगिता इसके लिए अधिक उपयुक्त है क्योंकि जी ++ मुख्य रूप से सी ++ कंपाइलर होने के लिए है। इसके अतिरिक्त, g++ वैसे भी .c फ़ाइलों को C++ फ़ाइलों के रूप में मानेगा।
यदि आप .c फ़ाइलों को संकलित करने के लिए g++ का उपयोग करना चाहते हैं, तो बस -c
. का उपयोग करें झंडा:
g++ -c [example.c] -o example<एच3>2. मुझे GCC का उपयोग C++ कंपाइलर के रूप में क्यों नहीं करना चाहिए?
आप बहुत अच्छी तरह से gcc
का उपयोग कर सकते हैं सी ++ कंपाइलर के रूप में। हालाँकि, g++ वास्तव में gcc
. का एक रूपांतर है यह सी ++ पर अधिक केंद्रित है। इस प्रकार, यह C++ कोड के साथ काम करने वाले प्रोग्रामर के लिए कुछ अतिरिक्त कार्यक्षमता और सुविधाएँ प्रदान करता है।
G++ का नवीनतम संस्करण Q1 2022 तक 11.2.0 प्रतीत होता है। इसे 2021 के जुलाई में जारी किया गया था।