我有類似下面的代碼:PyArg_ParseTuple和回調函數指針
PyObject *callback;
PyObject *paths;
// Process and convert arguments
if (!PyArg_ParseTuple(args, "OO:schedule", &paths, &callback))
return NULL;
內PyArg_ParseTuple究竟會發生什麼?我的猜測是回調得到了我傳遞給args的函數指針(也是PyObject *)。 PyArg_ParseTuple如何將函數指針轉換爲PyObject *?
我想知道的是如果我傳入兩次相同的回調函數指針會發生什麼。我認爲回調會在PyArg_ParseTuple中分配一個新的PyObject,所以每次都會得到不同的內存地址,但會包含相同的回調函數指針。
但是如果我PyObject_Hash回調,每次都會產生不同的值,對嗎? (因爲地址每次都不一樣)。
我想要的是能夠知道它是相同的回調函數。我怎麼做? – Paul 2010-08-20 17:20:30