0
我們是否可以將一個python方法的引用作爲參數傳遞給C.此方法是一個回調方法,它將在C代碼執行後執行。將Python方法對C的引用作爲回調傳遞
我們是否可以將一個python方法的引用作爲參數傳遞給C.此方法是一個回調方法,它將在C代碼執行後執行。將Python方法對C的引用作爲回調傳遞
在Python C-API中,Python對象只是PyObject
引用。 PyObject
引用可以使用PyObject_Call(如果你想有更多的描述性的錯誤,你可以打電話PyCallable_Check,第一。)
假設您已經使用API擴展模塊你將有一個方法如下叫:
bool call_method(PyObject *method)
{
PyObject *args = PyTuple_New(0);
if (NULL == PyObject_Call(method, args, NULL))
{
// Method call failed
return false;
}
return true;
}
然後,在Python中,您使用以下調用方法:
import my_module as bla
bla.call_method(myClass.myMethod)
感謝您的答覆。在JNI中也可能有同樣的東西嗎? – Chaitanya
我從來沒有使用Java本地接口之前,快速搜索返回這個雖然:http://stackoverflow.com/questions/6746078/implement-callback-function-in-jni-using-interface –
謝謝:)。我會仔細看看的。 – Chaitanya