A mini demo for cffi - API level, out-of-line
- Ubuntu 14.04.4 LTS
- GCC 4.8.2
- CPython 2.7.6(with cffi 1.5.2), pypy 5.0.1 (with built-in cffi)
-
Implement a simple function as:
int mysum(int a, int b)in./clib/mysum.c -
Complie mysum.c into static lib
libmysum.acd clib gcc -c mysum.c ar -crv libmysum.a mysum.o -
Write a testing program in C to link with
libmysum.a-
Build testing executable from
clib/test_mysum.cgcc ./test_mysum.c -lmysum -L./ -
Run it (You should see
1+2=3printed)./a.out
-
-
With pypy
cd .. [path]/pypy ./mysum_build.pyFile
_mysum.pypy-41.soshould be generated at current directory which can be imported by python code; -
With CPython
cd .. [path]/python ./mysum_build.pyFile
_mysum.soshould be generated at current directory which can be imported by python code;
-
With pypy
[path]/pypy ./test_mysum.py -
With CPython
[path]/python ./test_mysum.py
You should get 1+2=3 printed.