C++调用Python环境配置及代码示例

VS2010的配置

1、打开VS2010以后,点击视图 ——> 属性管理器 ——> Debug/64或Release/64或Debug/32或Release/32 ——> Microsoft.cpp  ——> 右键点击属性 ——> c/c++ ——> 常规 ——> 附加包含目录 ——> 添加Python3.6.4\include或Anaconda\include

2、点击VC++目录 ——> 库目录 ——> 添加Python3.6.4\libs或Anaconda\libs

3、为了防止环境发生意外错误导致不能使用,将Python.dll文件复制一份命名为Python_d.dll;将Python.lib文件复制一份命名为Python_d.lib保存在原目录下;最后将Python.dll、Python_d.dll、Python.lib、Python_d.lib四个文件复制一份拷贝到你所创建的VS工程目录下。

代码示例:

#include <numpy/arrayobject.h>
#include <string>
#include <Python.h>

int main()
{
    Py_SetPythonHome(L"python依赖文件的文件夹路径");
    Py_Initialize();//初始化Python
    if(!Py_IsInitialLized())
    {
        PyErr_Print();
    }

    int result = -1;//初始化返回值
    
    PyObject *pModule = NULL;
    PyObject *pFun    = NULL;
    PyPbject *pArg    = NULL;
    PyObject *pResult = NULL;
    
    pModule = PyImport_ImportModule("python文件名");
    if(!pModule)
    {
        return result;
    }

    pFun    = PyObject_GetAttrString(pModule, "python文件中的函数名");
    if(!pFun)
    {
        return result;
    }

    pArg    = PyBuildValue("(参数类型)", 参数);
    if(!pArg)
    {
        return result;
    }

    pResult = PyEval_CallObject(pFunc, pArg);
    if(!pResult)
    {
        return result;
    }
    
    PyArg_Parse(pResult, "返回值类型", &result);
    
    Py_Finalize(); //释放python接口
    
    return result;
    
}

具体的项目开发可以参考Python的API文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nice七仔爱地球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值