python - मैं पायथन से एक डीएलएल फ़ाइल का उपयोग कैसे कर सकता हूं?




dll (4)

ctypes का उपयोग करने के लिए सबसे आसान बात होगी लेकिन (गलत) इसका उपयोग करके पाइथन क्रैश होने के अधीन बनाता है। यदि आप कुछ जल्दी करने की कोशिश कर रहे हैं, और आप सावधान हैं, तो यह बहुत अच्छा है।

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

पाइथन के भीतर से डीएलएल फ़ाइल का उपयोग करने का सबसे आसान तरीका क्या है?

विशेष रूप से, यह पाइथन को कार्यक्षमता का पर्दाफाश करने के लिए कोई अतिरिक्त रैपर सी ++ कोड लिखने के बिना कैसे किया जा सकता है?

किसी तृतीय-पक्ष लाइब्रेरी का उपयोग करने पर मूल पायथन कार्यक्षमता को दृढ़ता से प्राथमिकता दी जाती है।



शायद Dispatch साथ:

from win32com.client import Dispatch

zk = Dispatch("zkemkeeper.ZKEM") 

जहां zkemkeeper सिस्टम पर एक पंजीकृत DLL फ़ाइल है ... उसके बाद, आप उन्हें कॉल करके केवल फ़ंक्शंस एक्सेस कर सकते हैं:

zk.Connect_Net(IP_address, port)

यह पृष्ठ एक डीएलएल फ़ाइल से फ़ंक्शन कॉल करने का एक बहुत ही सरल उदाहरण है।

पायथन में एक डीएलएल समारोह को कॉल करना बहुत आसान है। मेरे पास एक स्व-निर्मित डीएलएल फ़ाइल है जिसमें दो कार्य हैं: add और sub जो दो तर्क लेते हैं।

add(a, b) दो संख्याओं के अतिरिक्त रिटर्न
sub(a, b) दो संख्याओं के substraction देता है

डीएलएल फ़ाइल का नाम "demo.dll" होगा

कार्यक्रम:

from ctypes import*
# give location of dll
mydll = cdll.LoadLibrary("C:\\demo.dll")
result1= mydll.add(10,1)
result2= mydll.sub(10,1)
print "Addition value:-"+result1
print "Substraction:-"+result2

आउटपुट:

Addition value:-11
Substraction:-9





dll