對ctypes瞭解不多,最近纔開始使用它。如何將指針傳回ctypes?
我在類C的dll一個簡單的函數返回一個指向動態生成的字符串。
它工作正常,但是,因爲我手動分配內存的字符串,我應該釋放它後使用。
我有這樣的事情:
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;
}
但我沒有任何想法,怎麼能我通過在Python收到指針回來進行刪除嗎?
參見http://stackoverflow.com/questions/7398575/deallocating-memory-for-objects-returned-to-python-through-ctypes。 –