"# टिप्पणी" का क्या अर्थ है?


169

#pragma commentनिम्नलिखित में क्या अर्थ है?

#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")

जवाबों:


188

#pragma commentएक संकलक निर्देश है, जो उत्पन्न वस्तु फ़ाइल में एक टिप्पणी छोड़ने के लिए दृश्य C ++ को इंगित करता है। टिप्पणी तब लिंकर द्वारा पढ़ी जा सकती है जब यह ऑब्जेक्ट फ़ाइलों को संसाधित करता है।

#pragma comment(lib, libname) लिंकर को लाइब्रेरी की निर्भरता की सूची में 'libname' लाइब्रेरी को जोड़ने के लिए कहता है, जैसे कि आपने इसे प्रोजेक्ट प्रॉपर्टीज में जोड़ा था Linker->Input->Additional dependencies

MSDN पर #pragma टिप्पणी देखें


2
क्या यह केवल MSVC है या GCC / Intel Compiler / Clang में कुछ समान है? क्या कोई फ़ोल्डर पथ (जैसे Linker -> General -> Additional Library Directories) जोड़ने का विकल्प है ?
रॉय

4

मैंने हमेशा उन्हें "संकलक निर्देश" कहा है। वे संकलक को निर्देश देते हैं कि वे संकलन के चरण के दौरान, ऊपर दिखाए गए कार्यों जैसे कि विशिष्ट त्रुटियों को अक्षम करने सहित, ब्रांचिंग करें।

कंपाइलर कंपनियां आमतौर पर अपनी सुविधाओं को सुविधाजनक बनाने के लिए अपने स्वयं के एक्सटेंशन बनाती हैं। उदाहरण के लिए, (मेरा मानना ​​है) Microsoft ने "#pragma एक बार" सौदा शुरू किया और यह केवल MS उत्पादों में था, अब मुझे यकीन नहीं है।

प्रज्ञा निर्देश इसमें शामिल हैं "#pragma टिप्पणी" जिस तालिका में आप देखेंगे।

HTH

उदाहरण के लिए, मुझे GCC पर संदेह है, # प्रागमा का अपना सेट है।


6
आपने प्रश्न को गलत समझा। वह यह नहीं पूछ रहा है कि प्राग्म क्या हैं, और निर्देश के बजाय टिप्पणियों के रूप में उनका जिक्र है। वह विशेष रूप से पूछ रहा है कि क्या #pragma commentमतलब है।
रोब कैनेडी

2
यहाँ अजीब है, यह वास्तव में लिंकर के लिए एक निर्देश है।
हंस पासेंट

@ हंस: हम्म, तो इस मामले में हम इसे "लिंकर निर्देश" कहेंगे?
JustBoo

1
नहीं, यह अभी भी एक संकलक निर्देश है। यह संकलक को उस लाइब्रेरी को शामिल करने के लिए लिंकर के लिए एक नोट छोड़ने के लिए कह रहा है।
हेरोइनेट

0

MSVC ++ में चयनित पुस्तकालयों में ये लिंक।


0

प्रज्ञा निर्देश ऑपरेटिंग सिस्टम या मशीन विशिष्ट (x86 या x64 आदि) संकलक विकल्प निर्दिष्ट करते हैं। कई विकल्प उपलब्ध हैं। विवरण https://msdn.microsoft.com/en-us/library/d9x1s805.aspx में पाया जा सकता है

#pragma comment( comment-type [,"commentstring"] ) इसका प्रारूप है।

देखें https://msdn.microsoft.com/en-us/library/7f0aews7.aspx अलग टिप्पणी प्रकार के बारे में जानकारी के लिए।

#pragma comment(lib, "kernel32") #pragma comment(lib, "user32")

कोड की उपरोक्त पंक्तियों में लाइब्रेरी के नाम (या पथ) शामिल हैं जिन्हें लिंकर द्वारा खोजे जाने की आवश्यकता है। ये विवरण ऑब्जेक्ट फ़ाइल में लाइब्रेरी-खोज रिकॉर्ड के भाग के रूप में शामिल हैं।

तो, इस मामले में kernel.libऔर user32.libलिंकर द्वारा खोजे जाते हैं और अंतिम निष्पादन योग्य में शामिल होते हैं।


0

MSDN द्वारा प्रदान किए गए उत्तर और प्रलेखन सबसे अच्छा है, लेकिन मैं एक विशिष्ट मामले को जोड़ना चाहूंगा कि मैं बहुत उपयोग करता हूं, जो #pragma commentउदाहरण के लिए लिंक समय पर लिंकर को एक कमांड भेजने के लिए उपयोग की आवश्यकता होती है

#pragma comment(linker,"/ENTRY:Entry")

प्रवेश बिंदु प्रपत्र को बदलने के लिए लिंकर बता WinMain()करने Entry()के बाद कि CRTStartupकरने के लिए नियंत्रण हस्तांतरण करने के लिए जा रहाEntry()

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.