C++调用Python函数

本文介绍了如何在C++程序中嵌入Python代码,通过调用Python的内置函数实现表达式计算。详细讲解了配置IDE、编写Python脚本以及C++调用Python的高级和低级方法,特别是低级方法的四个步骤:导入模块、找到调用的方法、构造参数和调用方法取返回值。示例代码展示了如何调用Python脚本进行计算。
摘要由CSDN通过智能技术生成

     Python代码在实现某些功能的时候非常方便,如果能够将Python代码与C++程序结合起来,那么一定会使Problem Solving方便许多(比如,游戏脚本系统)~

    从学完Python开始就一直想研究一下C++内嵌Python是怎么回事,可是每次都坚持不下来。。。今天上校内,偶然间看到同学求助,怎么实现输入表达式输出结果~我想到了Python的builtin函数eval,正好借这个机会研究一下怎么实现C++调用Python函数!

    假定您的系统中已经安装了Python,我使用的版本是2.6~

    1.配置IDE。

    我用的是VS2008,只需要将Python安装路径下的include文件夹和libs文件夹添加到C++目录中即可。步骤是:Tools -> Options -> Project & Solution -> VC++ Dir选择右上的Dropdown List,分别将include文件夹和libs文件夹添加到include和lib项中。

    2.编写Python脚本。

    为了完成自动计算值的功能,我写了如下的脚本(文件名是python_code.py):

 

    将这个文件与C++程序文件放到同一目录下,这样保证编译器可以根据相对路径找到。

    3.Python嵌入的方式 - 高级vs低级

    接下来进入C++内嵌Python函数的关键部分了。根据官方的帮助文档,有两个类型的Python调用,High Level与Low Level。High Level就是调用者不需要管理与Python相关的内存,只有3行代码即可,分别是Py_Initialize()来初始化解释器(注意,此时程序仍然是由C++的编译器进行编译),调用PyRun_SimpleString()其中参数是要执行的Python代码,如果是一个确定的Python文件,那么我们可以调用PyRun_SimpleFile()直接执行Python文件。最后调用Py_Finalize()方法结束解释器工作。

    使用High Level对程序员的要求非常少,基本就是会写Python代码就会在C++中调用Python的方法,但是弊端就是当

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值