Python扩展方法及工具比较
一、普通扩展方法
扩展Python包括三个步骤:
1. 创建源程序(C, C++, java, ...);
2. 为源程序写wrap代码;
包括四个步骤:
Ø include "Python.h";
Ø 为每个模块函数写wrap,即:PyObject* Module_func();
Ø 为每个模块函数写函数定义,即:PyMethodDef ModuleMethods[]对应表;
Ø 写模块的初始化函数:void initModule()部分。
3. 编译连接;
有两种方法:
(1)使用distutils包。步骤如下:
Ø 修改distutils包中的setup.py文件;
Ø 根据需要运行$ python setup.py build或$ python setup.py install命令,生成扩展模块的共享库文件。
(2)直接使用gcc命令将模块编译成共享库。命令如下:
$ gcc -fpic -c -I/usr/include/python2.2 -I/usr/lib/python2.2/config foo.c wrap_foo.c
$ gcc -shared -o foo.so foo.o wrap_foo.o
这样便生成了python可用的foo模块。
4. 使用扩展内容
进入python环境,通过import foo,使用foo模块中的函数。如用foo.func()调用foo模块中的func()函数。
http://hi.baidu.com/minyuanyang/blog/item/1222c5c831075a137e3e6f0a.html
