c++ - Should I use GetProcAddress or just include various win32 libraries? -


पता करें कि बीच क्या अंतर है:

  स्थिर प्रोसेसवैक pProcess32First = (PROCESSWALK) GetProcAddress (hKernel , "Process32First"); ... पीप्रोसेस 32 प्रथम (...);  

एच कर्नेल क्या है? यहां देखो । आप GetModuleHandle ()

और

  #include के साथ प्रतिस्थापित कर सकते हैं & lt; Tlhelp32.h & gt; ... प्रक्रिया 32 प्रथम (...);  

मतभेद क्या हैं, मुझे आश्चर्य है कि मुझे किस का उपयोग करना चाहिए। क्या सर्वोत्तम प्रथाओं के मामले में कोई अंतर है?

नोट: मेरा जवाब मानता है कि फ़ंक्शन उपलब्ध है अगर आप गैर-निर्यात किए गए कार्यों के बाद हैं, तो विचार करने के लिए अन्य बातों पर भी विचार किया जा सकता है।

यदि आप लोड लाइब्रेरी और गेटप्रोकाएड्रेस का उपयोग करते हैं, तो आपके पास कम कार्यक्षमता के साथ चलने का विकल्प होता है यदि आवश्यक लाइब्रेरी नहीं है। यदि आप इन्हें शामिल करते हैं और सीधे लिब को लिंक करते हैं, और डीएलएल वहाँ नहीं है (या गलत संस्करण के कारण निर्यात नहीं है) तो आपका ऐप लोड करने में असफल रहेगा।

यह वास्तव में केवल एक बनाता है अंतर यदि आप किसी ऐसे फ़ंक्शन का उपयोग करना चाहते हैं जो किसी दिए गए dll के सभी संस्करणों में नहीं है।


Comments