import cffi ffi = cffi.FFI() ffi.embedding_api(""" int add2(int, int, int); """) ffi.embedding_init_code(r""" import sys sys.stdout.write("prepADD2\n") assert '_add2_cffi' in sys.modules m = sys.modules['_add2_cffi'] import _add2_cffi ffi = _add2_cffi.ffi @ffi.def_extern() def add2(x, y, z): sys.stdout.write("adding %d and %d and %d\n" % (x, y, z)) sys.stdout.flush() return x + y + z """) ffi.set_source("_add2_cffi", """ """) fn = ffi.compile(verbose=True) print('FILENAME: %s' % (fn,))