Chinaunix首页 | 论坛 | 博客
  • 博客访问: 212922
  • 博文数量: 70
  • 博客积分: 2050
  • 博客等级: 大尉
  • 技术积分: 700
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-15 21:42
文章分类

全部博文(70)

文章存档

2013年(1)

2011年(5)

2010年(3)

2009年(9)

2008年(17)

2007年(6)

2006年(29)

我的朋友

分类:

2009-05-13 19:28:08

python源程序如下(example.py)

class goods:
    def __init__(self, price):
        self.price = price

    def sale(self, amount):
        return self.price * amount

C++源程序如下(example.cpp)

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

using namespace boost::python;

int main(int argc, char* argv[])
{
    Py_Initialize();

    object sys = import("sys");
    object path = sys.attr("path");
    path.attr("append")(".");

    object example = import("example");
    object goods = example.attr("goods")(1.23);
    object rc = goods.attr("sale")(1.1);

    std::cout << extract<float>(rc) << std::endl;

    return 0;
}


编译:g++ example.cpp -I/usr/include/python2.6 -lboost_python-mt-python26 -lpython2.6
阅读(2227) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~