Tengo la siguiente pregunta. Tenemos que pasar funciones de devolución de llamada al código C. Si la función es una función Cython en el mismo módulo, la situación es bastante simplePython/Cython/C y devoluciones de llamada, llamando a una función de Python desde C usando Cython
En Cython:
def callme(int x):
c_callme(x, <int (*)(int)>&callbackme)
cdef int callbackme(int x):
print <int> x
return <int>x
En C:
int c_callme(int x, int (*f)(int))
{
printf("---%d\n",x);
printf("--%d\n",f(x));
return x;
}
La pregunta es la siguiente: queremos generalice este código de la manera más Pythonic para que pueda aceptar también las funciones de Python como argumentos de devolución de llamada (por supuesto, se necesita alguna capa adicional), y también las funciones C/Cython de otro módulo. Supongo que para las funciones C/Cython de un módulo separado, uno tiene que obtener la dirección de estas funciones (convertir a int largo) y para la función Python se necesita un determinado contenedor
por favor, lea las preguntas frecuentes acerca de formato de código ... – ThiefMaster