सीटीपीएस के बारे में ज्यादा जानकारी नहीं है, हाल ही में इसके साथ काम करना शुरू कर दिया है।ctypes में सूचक वापस कैसे पास करें?
मेरे पास सी-जैसे डीएल में एक साधारण कार्य है जो गतिशील रूप से जेनरेट की गई स्ट्रिंग के लिए एक सूचक देता है।
यह ठीक काम कर रहा है, लेकिन, क्योंकि मैंने मैन्युअल रूप से स्ट्रिंग के लिए स्मृति आवंटित की है, मुझे इसे उपयोग के बाद मुक्त करना चाहिए।
मैं कुछ इस तरह है:
extern "C" char* DLL_EXPORT func(const char* str1, const char* str2)
{
return getSomeString(str1, str2);
}
// Goal is to call this function correctly from Python.
extern "C" void DLL_EXPORT freeMem(void *mem)
{
if(mem!=NULL)
delete mem;
}
लेकिन मैं किसी भी विचार की जरूरत नहीं है, मैं कैसे पारित सूचक वापस हटाने के लिए अजगर में प्राप्त कर सकते हैं?
http://stackoverflow.com/questions/7398575/deallocating-memory-for-objects-returned-to-python-through-ctypes देखें:
यहाँ एक उदाहरण (अजगर 3) है। –