扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
(1)从Boost官方网站下载Boost库源文件,将其解压至某一目录中。
成都创新互联公司长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为松滋企业提供专业的成都网站建设、网站设计,松滋网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
(2)将Boost解压至的目录添加到VC++ 6.0的【Include files】中,
(3)进入Boost目录下的“libs\python\build\VisualStudio”子目录中,在VC++ 6.0中打开其中的“boost_python.dsw”文件。
(4)单击【Build】|【Batch Build】命令,分别编译Boost.Python的Debug和Release版。
(5)编译完成后将在Boost目录下的“libs\python\build\bin-stage”子目录中生成动态链接库和库文件。由于使
用Boost.Python编写的Python扩展在运行时根据版本不同需要“boost_python.dll”和
“boost_python_debug.dll”文件。为了方便,可以将其放到Windows安装目录下的“system32”目录下。否则,需要将其
和Python扩展放在同一目录中。
(6)将Boost目录下的“libs\python\build\bin-stage”子目录添加到VC++ 6.0的【Library files】中,
完成上述设置后就可以使用Boost.Python编写Python扩展了。
使用Boost.Python扩展和嵌入Python
通过Boost.Python可以在Python内使用C++类和函数。和SWIG一样Boost.Python简化了编写Python扩展的代码,而不用使用Python/C API。但与SWIG不同,Boost.Python是一个类库,无需再使用接口文件。
初始化和方法列表
在Boost.Python中可以通过使用BOOST_PYTHON_MODULE来命名模块名。在BOOST_PYTHON_MODULE中则可以使用def来实现使用Python/C API定义的方法列表。以下是一个简单的例子。
void show()
声明show函数
{
cout "Boost.Python";
}
BOOST_PYTHON_MODULE(example)
使用BOOST_PYTHON_MODULE命名模块名为“example”
{
def("show",show);
相当于定义方法列表
以上就是对如何编译Boost.Python以及如何使用Boost.Python扩展和嵌入Python的相关的内容的介绍,望你会有所收获。
如果是同一包里面,直接就可以使用,如果不是同一个包,那么需要先import后,通过“包名.类名”才能使用。
下面是同一个包里面的案例:
def a():
print(1)
def b():
a()
print (2)
b()
调用函数使用:对象.函数()
对应上面的代码就是
aaa.haha()
完整的代码如下:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流