summaryrefslogtreecommitdiff
path: root/demo/embedding_test.c
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;
}