Python学习:mac下使用boost.bython扩充python
来源:互联网 发布:gartner 云计算 2015 编辑:程序博客网 时间:2024/06/07 20:34
1、第一步,先要准备boost库,编译库,需要编译python库,我使用python的环境是python2.7。我使用的boost 1.5.7版本。存放在目录为:/Volumes/data/code/c++/boost_1_57_0。boost的编译,网上有一大把。这里就不详细说了。
说明:如果你的mac机器 /usr/include头文件很少,你可以使用下面这个命令安装。
xcode-select --install
2、编写一个hello_world.cpp,代码如下:
#include <iostream>
#include <string>
#include <boost/python.hpp>
using namespace std;
using namespace boost::python;
void say()
{
cout<<"Hello World!"<<endl;
}
BOOST_PYTHON_MODULE(hello_world)
{
def("say", say);
}
3、编译,这个时候生成hello_world.so文件。
g++ -fpic -c -L/Volumes/data/code/c++/boost_1_57_0/ -I/usr/include/python2.7 hello_world.cpp
g++ -shared -L/usr/lib -L/Volumes/data/code/c++/boost_1_57_0/stage/lib -lpython2.7 -lboost_python -o hello_world.so hello_world.o
4、把/Volumes/data/code/c++/boost_1_57_0/stage/lib/libboostpython.dylib拷贝到hello_world.so同一个目录下。测试新开发的模块。如下:
fish:c++ fish$ python
Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import hello_world
>>> hello_world.say()
Hello World!
>>>
>>> quit()
结束语:mac/linux使用boost.python库扩展python看上去比较简单,但由于对gcc编译命令不熟悉,很多不知道,因此摸索了很久。写这里给有需要的同学使用。
0 0
- Python学习:mac下使用boost.bython扩充python
- python-requests模块学习与扩充
- Boost.Python学习笔记
- Boost.Python 学习笔记
- Boost python 学习笔记
- Boost python 学习笔记
- Boost.Python学习笔记
- Boost::Python学习笔记
- Boost.Python使用小结
- 使用Boost.Python
- boost python的使用
- boost python 使用
- boost.python 使用
- 使用Boost.Python开发
- Python学习:MAC下SlickEdit2012,如何使用最新的python版本
- mac下安装和使用MySQL-python
- Mac 下Python 连接MySQL及使用
- mac下安装和使用MySQL-python
- Docker 实验
- mysql 日期转换 比较
- 黑马程序员-JAVA基础之IO流(1)
- 补充一道2015年华为校园招聘机试题(字符串处理)
- 数据结构基础 排序算法(三)算法的稳定性
- Python学习:mac下使用boost.bython扩充python
- 进程(WINAPI),遍历并查找树状的进程信息,实现控制系统进程
- 设置Win7共享+设置MAC共享+VMware Fusion帮助中心
- Android学习之Activity
- 对插入排序以及内存管理的一些分析
- 解题报告 之 HDU5305 Friends
- 正则表达式笔记(第二弹:JAVA中正则表达式的应用)
- MFC编译问题c1083
- 对象与继承