summaryrefslogtreecommitdiff
path: root/demo/embedding.py
blob: 516373d2d9e46a727fcb9d3c892a20e2c15bc549 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import cffi

ffi = cffi.FFI()

ffi.cdef("""
    extern "Python" {
        int add(int, int);
    }
""", dllexport=True)

ffi.embedding_init_code("""
    from _embedding_cffi import ffi
    print("preparing")   # printed once

    @ffi.def_extern()
    def add(x, y):
        print("adding %d and %d" % (x, y))
        return x + y
""")

ffi.set_source("_embedding_cffi", "")

ffi.compile(verbose=True)