Không biết nhiều về ctypes, chỉ mới bắt đầu làm việc với nó.Làm thế nào để vượt qua con trỏ trở lại trong ctypes?
Tôi có một hàm đơn giản trong C-like dll, trả về một con trỏ đến chuỗi được tạo động.
Nó hoạt động tốt, nhưng, bởi vì tôi được cấp phát bộ nhớ bằng tay cho chuỗi, tôi nên giải phóng nó sau khi sử dụng.
Tôi có một cái gì đó như thế này:
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;
}
Nhưng tôi không có bất kỳ ý tưởng, làm thế nào tôi có thể vượt qua được con trỏ trở lại để xóa bằng Python?
Xem http://stackoverflow.com/questions/7398575/deallocating-memory-for-objects-returned-to-python-through-ctypes. –