38 lines
843 B
Python
38 lines
843 B
Python
import cffi
|
|
|
|
ffi = cffi.FFI()
|
|
|
|
ffi.embedding_api("""
|
|
int add1(int, int);
|
|
""")
|
|
|
|
ffi.embedding_init_code(r"""
|
|
import sys, time
|
|
sys.stdout.write("preparing")
|
|
for i in range(3):
|
|
sys.stdout.flush()
|
|
# Windows: sometimes time.sleep() doesn't sleep at all.
|
|
# This appears to occur on recent versions of python only.
|
|
t_end = time.time() + 0.19
|
|
while time.time() < t_end:
|
|
time.sleep(0.2)
|
|
sys.stdout.write(".")
|
|
sys.stdout.write("\n")
|
|
|
|
from _add1_cffi import ffi
|
|
|
|
int(ord("A")) # check that built-ins are there
|
|
|
|
@ffi.def_extern()
|
|
def add1(x, y):
|
|
sys.stdout.write("adding %d and %d\n" % (x, y))
|
|
sys.stdout.flush()
|
|
return x + y
|
|
""")
|
|
|
|
ffi.set_source("_add1_cffi", """
|
|
""")
|
|
|
|
fn = ffi.compile(verbose=True)
|
|
print('FILENAME: %s' % (fn,))
|