Python 3.x Python回调函数
寻找一个简单的解决方案(比qsort示例更简单)。我正在linux系统上使用Python3和GCC4.7。我创建了一个共享库,可以从Python调用该库中的C函数。我希望能够使用Python回调函数作为参数之一,从Python调用C库中的函数。这样,C库中的函数可以调用另一个Python函数。我已经看了几个例子(qsort例子和其他例子),但无法让它工作。有人能给我举一个非常简单的例子,说明如何从Python端和C端完成这项工作吗?谢谢。找到了答案。 Python: C: 当然,如果您想要返回值和参数,这会稍微复杂一些,但不会太复杂Python 3.x Python回调函数,python-3.x,Python 3.x,寻找一个简单的解决方案(比qsort示例更简单)。我正在linux系统上使用Python3和GCC4.7。我创建了一个共享库,可以从Python调用该库中的C函数。我希望能够使用Python回调函数作为参数之一,从Python调用C库中的函数。这样,C库中的函数可以调用另一个Python函数。我已经看了几个例子(qsort例子和其他例子),但无法让它工作。有人能给我举一个非常简单的例子,说明如何从Python端和C端完成这项工作吗?谢谢。找到了答案。 Python: C: 当然,如果您想要返回值
import ctypes
mylib = ctypes.CDLL('sharedlib.so', use_errno=True)
...
CB_FUNC_TYPE = ctypes.CFUNCTYPE(None)
def cb():
print('Called from C library.')
cb_func = CB_FUNC_TYPE(cb)
mylib.test(cb_func)
typedef void ( *callback_t )( void );
void test( callback_t cb )
{
printf("Called from Python.\n");
cb();
}