import cffi | |
ffi = cffi.FFI() | |
ffi.embedding_api(""" | |
int add1(int, int); | |
""") | |
ffi.embedding_init_code(r""" | |
from _tlocal_cffi import ffi | |
import itertools | |
try: | |
import thread | |
g_seen = itertools.count().next | |
except ImportError: | |
import _thread as thread # py3 | |
g_seen = itertools.count().__next__ | |
tloc = thread._local() | |
@ffi.def_extern() | |
def add1(x, y): | |
try: | |
num = tloc.num | |
except AttributeError: | |
num = tloc.num = g_seen() * 1000 | |
return x + y + num | |
""") | |
ffi.set_source("_tlocal_cffi", """ | |
""") | |
fn = ffi.compile(verbose=True) | |
print('FILENAME: %s' % (fn,)) |