कोड को अनुकूलित करने के 10 तरीके:: ब्लॉकों

कोड अनुकूलित करने के 10 तरीके:: ब्लॉक - डमीज

कोड:: ब्लॉक डिफ़ॉल्ट सेटिंग्स के साथ आता है जो अधिकांश C ++ अनुप्रयोगों के लिए सबसे अधिक प्राकृतिक है; हालांकि, जैसा कि आप पर्यावरण में अधिक से अधिक समय खर्च करना शुरू करते हैं, आपको ये मिल सकता है कि कोड:: ब्लॉक केवल कुछ बदलावों के साथ मित्रवत स्थान हो सकते हैं।

टैब वर्ण का उपयोग करें

या अधिक विशेष रूप से, टैब वर्ण का उपयोग न करें यह सेटिंग कोई फर्क नहीं पड़ता है, यदि आप उस प्रोजेक्ट पर काम कर रहे हैं जिसमें हर कोई हमेशा कोड:: ब्लॉकों का उपयोग करेगा। टैब वर्णों के साथ समस्या, हालांकि, यह है कि अलग-अलग संपादक टैब्स अलग तरीके से व्याख्या करते हैं। कुछ संपादक कर्सर को अगले टैब स्टॉप पर ले जाते हैं, कुछ संपादक कर्सर को कुछ संख्याओं पर ले जाते हैं, और सभी संपादकों से सहमत नहीं है कि टैब के लिए कितने अक्षर आवंटित करें। सौभाग्य से सभी संपादकों को उसी स्थान की व्याख्या की जाती है, इसलिए कोड को बताने में अधिक सुरक्षित होता है: हमेशा रिक्त स्थान का उपयोग करने के लिए संपादक को ब्लॉक करता है और स्त्रोत फ़ाइलों में टैब को कभी भी नहीं सहेजता है। ऐसा करने के लिए, सेटिंग्स → संपादक का चयन करें अब बाईं तरफ सामान्य सेटिंग्स का चयन करें और सुनिश्चित करें कि प्रयोग करें टैब चरित्र अनियंत्रित है।

सिंटेक्स हाइलाइटिंग

सिंटेक्स हाइलाइटिंग, विभिन्न प्रकार के संरचनाओं के रंगों को बदलती है, कीवर्ड के लिए एक रंग, चर नामों के लिए एक अलग रंग, चरित्र तारों के लिए एक तिहाई, और इसी तरह। जैसे ही आप टाइप कर रहे हैं, मूर्खतापूर्ण त्रुटियों से बचने में यह बहुत सहायक है। उदाहरण के लिए, यदि आप किसी कीवर्ड को गलत वर्तनी देते हैं, तो वह कीवर्ड रंग में दिखाई नहीं देगा। इस सुविधा को सक्षम करने के लिए, सेटिंग्स → संपादक → सिंटेक्स हाइलाइटिंग चुनें। आम तौर पर कोड:: ब्लॉक फाइल नाम के विस्तार से भाषा को बता सकते हैं। यदि आप एक गैर-मानक फ़ाइल एक्सटेंशन का उपयोग कर रहे हैं, तो फ़ाइल मैस्क का चयन करके इसे सूची में जोड़ना सुनिश्चित करें। इसके अतिरिक्त, आप इस विंडो से वाक्यविन्यास हाइलाइटिंग विकल्पों को समायोजित करने के लिए अपनी आवश्यकताओं को बेहतर ढंग से समायोजित कर सकते हैं। यह विशेष रूप से महत्वपूर्ण है अगर आपके पास दृष्टि संबंधी कुछ समस्याएं हैं, विशेष रूप से किसी भी रंग का अंधापन

स्रोत कोड फॉर्मेटर

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

कोडिंग स्वरूपण मानकों का पालन करना आसान है कोड:: ब्लॉक इसका कोड एडिटर आपके कोड को किसी भी वांछित मानक में फिट करने के लिए पुन: स्वरूपित करेगा।

कोड:: ब्लॉक स्रोत कोड फॉर्मेटर वैरिएबल नामों को समायोजित नहीं करेगा। इससे भी बदतर, यह आपके प्रोग्राम तर्क को छू नहीं देगा। तो अगर आप फड़फड़ाहट कोड लिखते हैं, तो कोड पर इसे दोष मत डालें: ब्लॉक संपादक।

सेटिंग्स → संपादक का चयन करें और फिर सूची से स्रोत फ़ॉर्मेटर का चयन करें जो खिड़की पाने के लिए प्रतीत होता है जो आकृति 1 जैसा दिखता है। पूर्वावलोकन विंडो आपको दिखाती है कि व्यवहार में आपकी पसंद कैसी दिखाई देगी। यह उदाहरण एएनएसआई मानक का अनुसरण करता है, लेकिन आप कई अन्य सामान्य मानकों में से चुन सकते हैं, या आप कस्टम चुन सकते हैं और फिर अपने खुद के मानक बनाने के लिए इंडेंटेशन और फ़ॉर्मेटिंग टैब पर क्लिक कर सकते हैं।

चित्रा 1: स्रोत कोड फ़ॉर्मेटर सेट करना आपको एक कोडिंग शैली को समान रूप से लागू करने में मदद कर सकता है।

एक बार मानक चुनने के बाद, संपादक आपको उस मानक का उपयोग करने के लिए मनाना करने का प्रयास करेगा। उदाहरण के लिए, यदि आप अगर (सच) दर्ज करें और फिर एंटर दबाएं तो संपादक कर्सर को इंडेंट किए गए स्थान पर यदि नीचे रखेगा। यदि आप एक खुले ब्रेस में प्रवेश करते हैं, तो संपादक आपको बैक अप देगा, i में यदि , अगली पंक्ति पर कूदने के लिए, और इंडेंट ओवर

इससे भी बेहतर, कोडिंग को पूरा करने के बाद, यदि आप प्लग इन → सोर्स कोड फॉर्मेटर (एएसटीएल) का चयन करते हैं, तो संपादक आपके मॉड्यूल के माध्यम से जाएंगे और वर्तमान स्रोत कोड मानक को पुन: लागू कर देगा। इसलिए यदि आपका कामकाजी अपने प्रोग्रामिंग से काफी सावधान नहीं था, तो आप चिंता न करें - कुछ माउस क्लिक और यह सब साफ हो गया है।

कोड संक्षिप्त

यह एक अजीब विकल्प है यदि आप बहुत कोड (पढ़ा: बहुत ! ), कोड संक्षेप समय बचा सकता है, खासकर यदि आप बहुत अच्छे टाइपकर्ता नहीं हैं कोड संकेताक्षर आपको कुछ कोड शब्द दर्ज करने के लिए और फिर Ctrl + J, और वॉयला को दबाकर संहिता की अनुमति देता है: ब्लॉक संपादक इसी पूर्वनिर्धारित टेम्पलेट को दर्ज करेगा जिसे आप फिर भरें।

उदाहरण के लिए, यदि आप दर्ज करना चाहते हैं > वर्ग कोड की एक प्रति में:: ब्लॉक और फिर Ctrl + J, कोड में प्रवेश किया: ब्लॉक पहले आपको अपनी कक्षा के नाम के लिए पूछेंगे और फिर यह चित्र 2 में दिखाए गए सभी सामान को भर देगा। < चित्रा 2: यदि आप इसका इस्तेमाल करने के लिए याद कर सकते हैं तो स्रोत कोड संक्षिप्त नाम का प्रयोग आपको बहुत समय बचा सकता है! कोड:: ब्लॉक पहले से परिभाषित संक्षिप्ताक्षरों के एक सेट के साथ आता है, लेकिन आप सभी संक्षिप्त रूप को सेटिंग्स → संपादक चुनकर और विंडो के बाईं ओर संकेताक्षर विकल्प का चयन करके जोड़ सकते हैं।

कोड संक्षिप्त नाम के बारे में अच्छी बात यह है कि यह बहुत सारे टाइपिंग को बचा सकता है और स्वचालित रूप से आपके द्वारा चयनित स्रोत कोड स्वरूपण मानक को लागू कर सकता है। बहुत तेज टाइपिस्ट (या क्या कीबोर्ड वाला होगा?) इस सुविधा से बहुत कुछ नहीं प्राप्त कर सकते हैं, लेकिन यदि आप टाइप करते समय सभी दस उंगलियों का उपयोग नहीं करते हैं या अन्यथा बस कीबोर्ड पर धीमा हो, तो आप शायद इसका उपयोग करने की कोशिश करना चाहते हैं सुविधा।

स्वत: पूर्ण

संहिता:: ब्लॉकों में इस शांत विशेषता को स्वत: पूर्ण कहा गया है। आपके द्वारा टाइपिंग के कुछ न्यूनतम संख्या में टाइप करने के बाद (डिफ़ॉल्ट चार है, लेकिन आप इसे बदलते हैं), यदि आप अपनी टाइपिंग में रोकते हैं, तो कोड:: ब्लॉकों उन सभी चीजों की खोज करेगा जो उन अक्षरों से शुरू होती हैंइस प्रकार, कोड:: ब्लॉक अनुमान लगा सकते हैं कि आप क्या कहने का प्रयास कर रहे हैं।

उदाहरण के लिए, बजट 5 प्रोग्राम में जो डमीस से डाउनलोड करने योग्य सामग्री के साथ शामिल है कॉम, यदि आप

एसीओ दर्ज करें और फिर सिर्फ एक आधे सेकंड को रोकें (ये बहुत देर तक नहीं है!) तो एक विंडो चबूतरे जैसा चित्रा 3 में दिखाया गया है जो केवल दो चीजों को प्रदान करता है जो कोड:: ब्लॉक्स में इसके बारे में पता है यह प्रोग्राम जो Acco के साथ शुरू होता है: वर्ग

खाता और टाइप किए गए AccountPtr चूंकि आप का मतलब था खाता , आप बस दर्ज कर सकते हैं और यह मेरे लिए इसे भर देगा चित्रा 3: कोड:: ब्लॉकों को इस कार्यक्रम में एसीओ के लिए केवल दो मैच मिलते हैं। सबसे पहला एक है जिसे मैं तलाश रहा था। इस उदाहरण में, आप खाते

को

पीएसीसी के लिए एक संकेतक बना रहे हैं। जब आप अगली प्रकार पीएसीसी -> और फिर रोकें, संहिता:: ब्लॉक, एक सदस्य को खाता के रूप में दिखाया गया है, जैसा कि चित्र 4 में दिखाया गया है। 4: एक ऑब्जेक्ट को देखते हुए, कोड:: ब्लॉकों को उस ऑब्जेक्ट से सार्वजनिक सदस्यों को सुलभ मिलेगा। आपकी खुद की कक्षाओं की बात करते हुए यह एक दिलचस्प विशेषता है। कुछ भी से अधिक, सूची से चयन करने का मतलब है कि आप फ़ंक्शन के नाम को गलत या गलत वर्तनी में टाइप नहीं करते हैं यह सुविधा वास्तव में दिलचस्प हो जाती है जब आप किसी वस्तु को दर्ज करते हैं जिसे लाइब्रेरी में परिभाषित किया जाता है उदाहरण के लिए, यदि आप कॉट दर्ज करें

, आपको

सीओएटी

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

चेतावनियां आपके कार्यक्रमों में बहुत गलतियों को उजागर करती हैं जो बग बनने वाली हैं।

नया बिल्ड लक्ष्य बनाना

कोड:: ब्लॉक पर्यावरण आपको एक से अधिक बिल्ड लक्ष्य बनाने की अनुमति देता है। एक बिल्ड लक्ष्य आपको अद्वितीय बिल्ड सेटिंग के साथ एक अलग निष्पादन योग्य बनाने की अनुमति देता है।उदाहरण के लिए, आप निश्चित रूप से प्रतीकात्मक सूचनाओं को एक्जीक्यूटेबल में शामिल करना चाहते हैं जो आप डिबग के लिए उपयोग करते हैं, लेकिन उन ग्राहकों में नहीं, जिनके लिए आप जहाज करने का इरादा रखते हैं (नीचे देखें)।

जब आप प्रोजेक्ट बनाते हैं तो आप सबसे आसानी से एक डीबग बिल्ड लक्ष्य और रिलीज़ बिल्ड लक्ष्य बना सकते हैं - विज़ार्ड आपके लिए सारे काम करने दें। हालांकि, यह अक्सर ऐसा होता है कि एक परियोजना पर काम करने और डीबग करने के कुछ हफ्तों के बाद, आप इसे केवल रिलीज करने के लिए ही पाते हैं कि कोई रिलीज बिल्ड लक्ष्य नहीं है चिंता करने की ज़रूरत नहीं, आप अपने खुद के लिए हमेशा एक नया बिल्ड लक्ष्य बना सकते हैं।

एक नया बिल्ड लक्ष्य बनाने के लिए, प्रोजेक्ट → गुण चुनें, फिर बनाएँ लक्ष्य टैब का चयन करें। आप कुछ ऐसा देखेंगे जो चित्र 5 जैसा दिखता है, जो बजट 5 कार्यक्रम को एक डीबग बिल्ड लक्ष्य के साथ दिखाता है।

चित्रा 5: परियोजना गुणों में से एक बिल्ड लक्ष्यों की सूची है

रिलीज़ बिल्ड लक्ष्य बनाने के लिए निम्न चरणों का उपयोग करें:

डीबग लक्ष्य का चयन करें और डुप्लिकेट पर क्लिक करें।

नया बिल्ड लक्ष्य, रिलीज का नाम दर्ज करें।

आउटपुट फ़ाइल नाम को binReleaseBudget5 में बदलें। exe और obzRelease के लिए ऑब्जेक्ट आउटपुट निर्देशिका

इस विशेष लक्ष्य के लिए आप जो भी बिल्ड विकल्प चाहते हैं, उसे सेट करने के लिए बिल्ड विकल्प पर क्लिक करें और ठीक पर क्लिक करें।

  1. आप निश्चित रूप से प्रतीकात्मक जानकारी को बंद करना और अनुकूलन को चालू करना चाहते हैं।

  2. नए बिल्ड लक्ष्य को बचाने के लिए ठीक पर क्लिक करें

  3. किसी विशेष बिल्ड लक्ष्य को बनाने के लिए, बिल्ड → चुनें लक्ष्य चुनें, और तब उपलब्ध लक्ष्य से चुनें। यह निर्देश संहिता:: जब आप बिल्ड का चयन करते हैं तो आप जिस निष्पादन योग्य बनाना चाहते हैं, उसके रूप में ब्लॉक।

  4. परियोजना - अनुकूलन को सक्षम करें

    आप सोच सकते हैं कि सी ++ कोड की प्रत्येक पंक्ति उसके चारों ओर कोड की लाइनों के बिना मशीन निर्देशों का एक सेट उत्पन्न करती है, और गैर-अनुकूलित मोड में आप सही होंगे। जीएनयू संकलक में निर्मित अनुकूलक कोड के कई लाइनों को देखकर आपके सी ++ स्रोत से अधिक कुशल कार्यक्रम बना सकता है।

  5. निम्नलिखित तुच्छ और पूरी तरह से बना (लेकिन चालाक) उदाहरण पर विचार करें:

// i ++; एमओवी ईएक्स, आई [बीपी] आईसीएएक्स एमओवी आई [बीपी], ईएक्स / एफएन (आई) एमओवी ईएएपी, आई [बीपी] पुश ईएक्स कॉल एफ एन

यहां की रेखा

आई ++ को इन्हें परिवर्तित किया गया था मशीन कोड की तीन लाइनें जो निम्न का पालन करती हैं:

 i 

का मान ईएक्स रजिस्टर में लोड करें ईएजीएस रजिस्टर में वृद्धि वेतनमान मान वापस

  1. i में स्टोर करें अगली पंक्ति कॉल

  2. एफएन (आई)

  3. को निम्न में बदल देती है। ईएक्स रजिस्टर में i

    का मूल्य लोड करें स्टैक पर ईएक्स के मूल्य को पुश करें कॉल करें

  4. ध्यान दें कि चरण 4 वास्तव में अनावश्यक है i का मूल्य ईएक्स रजिस्टर में लोड करने की कोई आवश्यकता नहीं है क्योंकि मूल्य 1, 2, और 3 से पहले से ही है। यहां तक ​​कि एक साधारण ऑप्टिमाइज़र भी इस तथ्य को ध्यान में रखेगा और दूसरे

  5. एमओवी ईएक्स, आई [बीपी]

यह बचत का अधिक नहीं है, लेकिन यह उदाहरण समझने में आसान है, भले ही ऐसा कोई बड़ा सुधार न हो। जीएनयू संकलक बनाता है कि अनुकूलन के अधिकांश समझने के लिए आपको असेंबली भाषा में एक असली सुराग होना चाहिए आप प्रोजेक्ट → बिल्ड विकल्प चुनकर एक विशेष बिल्ड के लिए ऑप्टिमाइज़ेशन को सक्षम कर सकते हैं, फिर बाईं ओर रिलीज़ बिल्ड का चयन कर सकते हैं और ऑप्टिमाइज़ेशन विकल्पों में से एक का चयन कर सकते हैं। तकनीकी रूप से, कई अनुकूलन विकल्प हैं क्योंकि ऑप्टिमाइज़र बहुत समय ले सकता है। यदि आपके पास बहुत बड़ी परियोजना है, तो बहुत बार ऐसा मॉड्यूल का अनुकूलन करने में बहुत समय नहीं लगता है, जिसे अक्सर अक्सर निष्पादित नहीं किया जाएगा। छोटे से मध्यम आकार की परियोजनाओं के लिए, बस पूर्ण अनुकूलन सक्षम करें - आप संकलन करने में लगने वाले कुछ अतिरिक्त सेकंडों को ध्यान नहीं देंगे। आप सेटिंग → कंपाइलर चुनकर, फिर कंपाइलर टैब का चयन करके और ऑप्टिमाइज़ किए गए मामलों में से एक का चयन करके सभी विकल्पों के लिए इस विकल्प को सक्षम कर सकते हैं; हालांकि, यह ऐसा एक अच्छा विचार नहीं है यदि डीबगर का उपयोग करने की योजना है तो प्रोजेक्ट की डीबग रिलीज़ में अनुकूलन सक्षम न करें। अनुकूलक द्वारा किए गए कोड में होने वाले बदलावों से यह कार्यक्रम अर्ध-यादृच्छिक चलने के दौरान कूदने के लिए दिखाई देगा, जब आप इसके माध्यम से कदम की कोशिश करेंगे। प्रोजेक्ट - डिबगर प्रतीकों को अक्षम करें

सिंबल की जानकारी पूरी तरह से डिबगर के उपयोग के लिए निष्पादन योग्य में शामिल है इस जानकारी को उस संस्करण में शामिल नहीं किया जाना चाहिए जिसे आप उपयोगकर्ताओं को भेजते हैं: यह बिना निष्कासन निष्पादन के आकार को बढ़ाता है और इससे भी बदतर, यह खतरनाक जानकारी को हैकर्स को आपके कार्यक्रम में एक भेद्यता को खोजने की कोशिश कर रहा है।

रिलीज़ बिल्ड लक्ष्य में डीबग जानकारी को अक्षम करने के लिए, प्रोजेक्ट → बिल्ड विकल्प चुनें, और फिर बाएं पर रिलीज़ लक्ष्य का चयन करें। अब सुनिश्चित करें कि रिलीज लक्ष्य के लिए डिबगिंग प्रॉडक्ट्स का उत्पादन करें [-जी] ऑप्शन को क्लिक किया जाता है (अब यह सुनिश्चित करने के लिए एक अच्छा समय है कि डीबग बिल्ड लक्ष्य के लिए यह एक ही विकल्प पर क्लिक किया गया है।)

प्रोजेक्ट - प्रोग्राम के तर्कों को सेट करना

कुछ प्रोग्राम कमांड लाइन तर्कों के साथ निष्पादित होने के लिए होते हैं। संहिता: ब्लॉक कोड कोड के भीतर से इस तरह के एक प्रोग्राम को कार्यान्वित करते समय कमांड लाइन तर्क प्रदान करने के लिए निम्नलिखित तंत्र प्रदान करता है: ब्लॉक पर्यावरणीय:

प्रोजेक्ट → सेट प्रोग्राम 'तर्क चुनें।

ऊपरी विंडो में बिल्ड लक्ष्य चुनें।

प्रोग्राम आर्गेंस विंडो में जो भी आप चाहते हैं उसे दर्ज करें

खिड़की बंद करने के लिए ठीक चुनें।

जब आप प्रारंभ या चलाते हैं, कोड:: ब्लॉक आपके प्रोग्राम में इन तर्कों की आपूर्ति करेगा।