#include <boost/python.hpp>
using namespace boost::python;
int add_five(int x) {
return x + 5;
}
#pragma comment(lib,"python27.lib")
BOOST_PYTHON_MODULE(Pointless)
{
def("add_five", add_five);
}
int main(int, char **) {
Py_Initialize(); 
try 
{
initPointless(); // initialize Pointless
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
/*PyRun_SimpleString("import Pointless");
PyRun_SimpleString("print Pointless.add_five(4)");*/
PyRun_SimpleString("execfile('test.py')");
}
catch (error_already_set) 
{
PyErr_Print();
}
Py_Finalize();
return 0;
}
//--------------------------------------------------------------------------------------
boost::python::manage_new_object
假如返回一个类型CZhu 那么使用时必须在python中注册CZhu对应的类
//--------------------------------------------------------------------------------------
boost::python::return_opaque_pointer
这个就仅仅是个python包装的指针 用来传回给c++做点什么的
posted on 2013-12-10 18:27 野猪红 阅读(251) 评论(0)  编辑 收藏 引用 所属分类: C/C++ STL Python Lua

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理