सारांश
यह पाठ काम करने का वह तरीका तय करता है जिसका पालन पाठ्यक्रम अंत तक करेगा। यह संपादित करने, सहेजने, कंपाइल करने, चलाने और पढ़ने के चक्र का वर्णन करता है, और समझाता है कि त्रुटि का यथासंभव सबसे शुरुआती चरण में पता चलना क्यों लाभदायक है; पाठ्यक्रम द्वारा सुझाई गई कंपाइल कमांड और उसके हर विकल्प का काम प्रस्तुत करता है; दिखाता है कि यह चक्र टर्मिनल से कैसे चलाया जाता है और Visual Studio Code को कैसे कॉन्फ़िगर किया जाता है ताकि वह उन्हीं विकल्पों के साथ कंपाइल करे; कंपाइलर के आउटपुट में त्रुटि और चेतावनी में भेद करना और वह पंक्ति ढूँढ़ना सिखाता है जिसकी वे बात करती हैं; डिटेक्टरों से परिचय कराता है, जो प्रोग्राम के कुछ तरह के अपरिभाषित व्यवहार में पड़ने पर उसे रोक देते हैं और पंक्ति बताते हैं; और कंसोल को देवनागरी ठीक से दिखाने के लिए तैयार कर देता है।
अधिगम उद्देश्य
- पाठ्यक्रम के विकल्पों (
-std=c++23 -Wall -Wextraऔर बाकी विकल्पों) के साथ टर्मिनल से प्रोग्राम कंपाइल करना,-oसे एक्ज़ीक्यूटेबल फ़ाइल का नाम रखना और उसे चलाना। - Visual Studio Code को इस तरह कॉन्फ़िगर करना कि वह टर्मिनल वाले विकल्पों के साथ ही कंपाइल करे और चेतावनियाँ अपने समस्याओं वाले पैनल में दिखाए।
- कंपाइलर के आउटपुट में त्रुटि और चेतावनी में भेद करना, हर चेतावनी उत्पन्न करने वाले विकल्प का नाम बताना और वह पंक्ति ढूँढ़ना जिसकी वह बात करती है।
- मेमोरी त्रुटियों और अपरिभाषित व्यवहार के डिटेक्टर सक्रिय करना, और उनकी रिपोर्ट में विफलता की श्रेणी और वह पंक्ति पहचानना जहाँ वह हुई।
- यह निदान करना कि आउटपुट में देवनागरी अक्षरों की जगह अजीब चिह्न क्यों दिखते हैं, और संपादक तथा कंसोल को इस तरह कॉन्फ़िगर करना कि अक्षर ठीक दिखें।
कार्य-चक्र
प्रोग्राम लिखना कोई एक बार का काम नहीं, बल्कि एक चक्र है जो एक ही बैठक में दर्जनों बार दोहराया जाता है। इसके पाँच क्षण हैं: स्रोत कोड संपादित किया जाता है; फ़ाइल सहेजी जाती है, क्योंकि कंपाइलर डिस्क को पढ़ता है, संपादक की स्क्रीन को नहीं; उसे कंपाइल किया जाता है, अर्थात् कंपाइलर से कहा जाता है कि फ़ाइल को एक्ज़ीक्यूटेबल फ़ाइल में अनूदित करे; परिणाम को चलाया जाता है; और कंपाइलर तथा प्रोग्राम ने जो कुछ लिखा, उसे ध्यान से पढ़ा जाता है। जो पढ़ा गया, वह नए संपादन तक ले जाता है, और चक्र फिर से शुरू होता है।
अंतिम क्षण की ही सबसे अधिक उपेक्षा होती है, और वही सबसे अधिक महत्त्वपूर्ण है। प्रस्थापना सरल है: कोई दोष जितनी देर से पकड़ में आता है, उसे सुधारना उतना ही महँगा पड़ता है। यदि कंपाइलर उसकी ओर इशारा करे, तो पता चल जाता है कि किस पंक्ति में है और लगभग हमेशा यह भी कि क्यों; यदि वह चलाते समय प्रकट हो, तो केवल इतना पता चलता है कि कुछ गड़बड़ हुई; यदि वह हफ़्तों बाद, दूसरे डेटा के साथ प्रकट हो, तो हो सकता है कि कारण कभी किसी को पता ही न चले। इससे निष्कर्ष निकलता है कि दोषों का यथासंभव जल्दी पता लगाना लाभदायक है, और कंपाइलर को प्रोग्राम का पहला जाँचकर्ता मानना चाहिए: एक अथक पाठक, जो ठीक से कॉन्फ़िगर किया जाए तो टाइपिंग की गलतियों से कहीं अधिक बातों की चेतावनी देता है।
यह पाठ उस जाँचकर्ता को तीन स्तरों पर कॉन्फ़िगर करता है: त्रुटियाँ, जो एक्ज़ीक्यूटेबल फ़ाइल बनने नहीं देतीं; कंपाइलर की चेतावनियाँ, जो उसे बनने देती हैं, पर संदिग्ध कोड की ओर इशारा करती हैं; और डिटेक्टर (sanitizer), जो चलते हुए प्रोग्राम पर निगरानी रखते हैं। यह पाठ मानकर चलता है कि कंपाइलर और संपादक इंस्टॉल हैं (पाठ 1.3)। उदाहरणों में चर और if स्टेटमेंट इस्तेमाल होते हैं, जिन्हें पाठ 2.1 और पाठ 4.1 में समझाया जाएगा; यहाँ उन्हें पढ़ लेना काफ़ी है।
सामग्री लोड हो रही है…