python调用c语言

使用C语言编译产生共享库,然后python使用ctype库里的cdll来打开共享库。

举例如下,

C语言代码为

1
2
3
4
5
/* func.c */
int func(int a)
{
return a*a;
}

python代码为

1
2
3
4
5
6
7
8
#!/usr/bin/env python
#test_so.py
from ctypes import cdll
import os

p = os.getcwd() + '/libfunc.so'
f = cdll.LoadLibrary(p)
print f.func(99)