Python开发效率高,运行效率低。而c/c++恰恰相反。因此在python脚本中调用c/c++的库,对python进行扩展,是很有必要的。使用python api,http://www.python.org/doc/ ,需要安装python-dev。
test.cpp文件如下
make:
g++ -shared -fpic test.cpp -o MyCppModule.so
编译完毕后,目录下会有一个MyCppModule.so文件
test.py文件如下
- # -*- coding: utf-8 -*-
- import MyCppModule
- #导入python的模块(也就是c的模块,注意so文件名是MyCppModule
- r = MyCppModule.MyCppFun1("ls -l")
- print r
- print "OK"
执行
lhb@localhost:~/maplib/clib/pyc/invokec$ python test.py
总计 20
-rwxr-xr-x 1 lhb lhb 45 2010-08-11 17:45 make
-rwxr-xr-x 1 lhb lhb 7361 2010-08-12 10:14 MyCppModule.so
-rw-r--r-- 1 lhb lhb 979 2010-08-11 17:45 test.cpp
-rw-r--r-- 1 lhb lhb 181 2010-08-11 17:45 test.py
0
OK