सशर्त संकलन क्या है?

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

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

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

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

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

अन्य भाषाएँ

क्या इस लेख से आपको सहायता मिली? प्रतिक्रिया के लिए धन्यवाद प्रतिक्रिया के लिए धन्यवाद

हम आपकी सहायता किस तरह से कर सकते है? हम आपकी सहायता किस तरह से कर सकते है?