我厂大部分的code都是采用C++写的,有的时候需要进行一些数据分析,又需要用c++里面的很多函数,例如url的转换函数,hash编码的函数,着实不甚方便,这个时候把常用的c++的函数,封装为SO库让python调度就非常有必要的了。
当然,如果从性能的考虑,你也可以balabal了。
那么这里就简单描述一下在python中怎么使用so库吧。
python中使用so库的方法很多,以下三个网页都比较好的描述了怎么操作。
http://www.isnowfy.com/introduction-to-python-c-extension/ 简介了各种调用so的方法。
http://starship.python.net/crew/theller/ctypes/tutorial.html 介绍了python与so库之间的各个映射关系。
http://ciniao.me/article.php?id=22 将了python如何调用c语言的分词块。
当需要采用调用c++的程序的时候,需要对原有的数据加一个extern "C"封装一下即可。
采用g++编译的代码也需要的,原因可能是因为c++编译器编译后的二进制so文件中,对c++的函数进行了重新的命名导致的。