使用boost实现python调用c++

本文介绍了一个使用Boost.Python库创建简单C++扩展模块的例子。通过C++代码定义了一个返回字符串的函数,并将其暴露给Python。该模块使用g++编译,并在Python中调用,成功输出了'hello,world'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

检查boost版本:dpkg -S /usr/include/boost/version.hpp

C++代码: 

#include<string>
#include<boost/python.hpp>

using namespace std;
using namespace boost::python;


char const * greet()
{
    return "hello,world";

}

BOOST_PYTHON_MODULE(hello_ext)
{
    def("greet", greet);
}


编译:g++ -std=c++11 -fPIC test1.cpp -o hello_ext.so -shared -I/usr/include/python2.7 -lboost_python

切记生成的文件要与module同名。

python代码:

import hello_ext
print hello_ext.greet()

输出:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值