日度归档:2011 年 06 月 22 日

Python与C/C++的动态链接库完美配合

在Python里可以使用ctypes库来调用其它语言编译的动态链接库程序,使用方法很简单,Linux和Windows都测试过可行。

用C语言写一个简单的动态链接库,譬如一个加法函数,

int plus(int a, int b)
{
    return a + b;
}

编译一下!(Linux下还要加 -fPIC 参数来编译成so文件)

gcc foo.c -o foo.dll -shared

在同一目录编写python脚本,代码如下:

>>> import ctypes
>>> foo = ctypes.cdll.foo
>>> print foo.plus(1, 2)
3
>>> print foo.plus(100, -1)
99

继续阅读