ctypesについてよく知りませんが、ちょうど最近、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を参照してください:
は、ここでの例(Pythonの3)です。 –