blob: ede8cb97bfe6bac662b8d424137c6bf481ae9717 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/* There are two options:
=====1=====
Link this program with _embedding_test.so.
E.g. with gcc:
gcc -o embedding_test embedding_test.c _embedding_cffi*.so
You must then run the executable with the right command
(LD_LIBRARY_PATH on Linux), otherwise it won't find the
_embedding_cffi*.so:
LD_LIBRARY_PATH=. ./embedding_test
There are platform-specific options to gcc to avoid needing
that, too. Linux:
gcc -o embedding_test embedding_test.c _embedding_cffi*.so \
-Wl,-rpath=\$ORIGIN/
=====2=====
Compile and link the _embedding_test.c source code together with
this example (e.g. with PyPy):
gcc -o embedding_test embedding_test.c _embedding_cffi.c \
-I/opt/pypy/include -pthread -lpypy-c
*/
#include <stdio.h>
extern int add(int x, int y);
int main(void)
{
int res = add(40, 2);
printf("result: %d\n", res);
res = add(100, -5);
printf("result: %d\n", res);
return 0;
}
|