Python使用C语言生成的库 | 您所在的位置:网站首页 › python 生成c语言 › Python使用C语言生成的库 |
下载需要的工具
1、下载pcre库 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz 2、下载SWIG:wget http://sourceforge.net/projects/swig/files/latest/download?source=typ_redirect 安装pcre 安装swig 可能会提示找不到pcre库,pcre默认安装再/usr/local/bin里,需要在系统环境变量中指定该路径: vim ~/.bash_profile export PATH=$PATH:/usr/local/bin 保存退出并运行该文件:. ~/.bash_profile 编写C函数及接口文件写一个简单的检测回文数的C程序 palindrome.c: #include int is_palindrome(char* text){ if (NULL == text) return 0; int i; int len = strlen(text); char* low = text; char* high = text + len - 1; while (low return 0; } ++low; --high; } return 1;}接口文件 palindrome.i %module palindrome%{#include %}extern int is_palindrome(char* text); 运行SWIG swig -python palindrome.i找不到pcre.so.1 解决办法 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib此时生成两个文件:palindrome_wrap.c palindrome.py 编译、链接 gcc -fPIC -o palindrome.o -c palindrome.cgcc -fPIC -o palindrome_wrap.o -I/usr/include/python2.6 -c palindrome_wrap.cgcc -shared -o _palindrome.so palindrome.o palindrome_wrap.o这时会生成一个文件 _palindrome.so,这就是Python可用的库文件 测试 >>> import _palindrome>>> _palindrome.is_palindrome("12321")1>>> _palindrome.is_palindrome("123212")0成功 |
CopyRight 2018-2019 实验室设备网 版权所有 |