1import cffi 2 3ffi = cffi.FFI() 4 5ffi.cdef("""int my_algo(int); extern "Python" int f(int);""") 6 7ffi.set_source("_extern_python_cffi", """ 8 static int f(int); 9 static int my_algo(int n) { 10 int i, sum = 0; 11 for (i = 0; i < n; i++) 12 sum += f(i); 13 return sum; 14 } 15""") 16 17ffi.compile() 18 19 20from _extern_python_cffi import ffi, lib 21 22@ffi.def_extern() 23def f(n): 24 return n * n 25 26assert lib.my_algo(10) == 0+1+4+9+16+25+36+49+64+81 27