python :使用 C语言 扩展 python
很多时候为了追求在瓶颈处的速度,会采用C/CPP来做核心代码的处理,那么就涉及到混编,即需要将C的代码作为可导入的库给python使用。废话不多说,此处只说一些感觉很重要的内容。
对于代码的编写一般都没有问题,使用python和C之间的接口API即可。
一个小小例子:
文件名:foo.c
模块名:foo
from distutils.core import setup, Extensionsetup(name = 'python_lame', version = '1.0', ext_modules = \[Extension('python_lame', ['python_lame.c','lame_test.c'], include_dirs=['.'], \library_dirs=['usr/local/lib'], libraries=['mp3lame'])])那么可以看到ext_modules变得丰富:
》 首先指定多个源文件:'pylame.c','lame_test.c'
》 第二,test的头文件在当前,那么头文件增加新的寻找PATH:include_dirs=['.']
》对于外来库的指定:
》库的路径:library_dirs=['usr/local/lib']
》库名:libraries=['mp3lame'])]
OK,完事~
参考:
http://docs.python.org/2/distutils/setupscript.html
http://www.cnblogs.com/phinecos/archive/2010/05/22/1741667.html