#pragma comment
निम्नलिखित में क्या अर्थ है?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
#pragma comment
निम्नलिखित में क्या अर्थ है?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
जवाबों:
#pragma comment
एक संकलक निर्देश है, जो उत्पन्न वस्तु फ़ाइल में एक टिप्पणी छोड़ने के लिए दृश्य C ++ को इंगित करता है। टिप्पणी तब लिंकर द्वारा पढ़ी जा सकती है जब यह ऑब्जेक्ट फ़ाइलों को संसाधित करता है।
#pragma comment(lib, libname)
लिंकर को लाइब्रेरी की निर्भरता की सूची में 'libname' लाइब्रेरी को जोड़ने के लिए कहता है, जैसे कि आपने इसे प्रोजेक्ट प्रॉपर्टीज में जोड़ा था Linker->Input->Additional dependencies
MSDN पर #pragma टिप्पणी देखें
मैंने हमेशा उन्हें "संकलक निर्देश" कहा है। वे संकलक को निर्देश देते हैं कि वे संकलन के चरण के दौरान, ऊपर दिखाए गए कार्यों जैसे कि विशिष्ट त्रुटियों को अक्षम करने सहित, ब्रांचिंग करें।
कंपाइलर कंपनियां आमतौर पर अपनी सुविधाओं को सुविधाजनक बनाने के लिए अपने स्वयं के एक्सटेंशन बनाती हैं। उदाहरण के लिए, (मेरा मानना है) Microsoft ने "#pragma एक बार" सौदा शुरू किया और यह केवल MS उत्पादों में था, अब मुझे यकीन नहीं है।
प्रज्ञा निर्देश इसमें शामिल हैं "#pragma टिप्पणी" जिस तालिका में आप देखेंगे।
HTH
उदाहरण के लिए, मुझे GCC पर संदेह है, # प्रागमा का अपना सेट है।
#pragma comment
मतलब है।
प्रज्ञा निर्देश ऑपरेटिंग सिस्टम या मशीन विशिष्ट (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
लिंकर द्वारा खोजे जाते हैं और अंतिम निष्पादन योग्य में शामिल होते हैं।
MSDN द्वारा प्रदान किए गए उत्तर और प्रलेखन सबसे अच्छा है, लेकिन मैं एक विशिष्ट मामले को जोड़ना चाहूंगा कि मैं बहुत उपयोग करता हूं, जो #pragma comment
उदाहरण के लिए लिंक समय पर लिंकर को एक कमांड भेजने के लिए उपयोग की आवश्यकता होती है
#pragma comment(linker,"/ENTRY:Entry")
प्रवेश बिंदु प्रपत्र को बदलने के लिए लिंकर बता WinMain()
करने Entry()
के बाद कि CRTStartup
करने के लिए नियंत्रण हस्तांतरण करने के लिए जा रहाEntry()
Linker -> General -> Additional Library Directories
) जोड़ने का विकल्प है ?