C++ 调用python程序
2019-04-03 17:08
183 查看
环境:win10+VS2015+Python3.5
python代码
test_python.py
def Add(a,b): return a+b
C++代码
main.cpp
#include <Python.h> #include <iostream> using namespace std; double testAdd(int a, double b) { Py_Initialize(); PyRun_SimpleString("import sys"); PyRun_SimpleString("sys.path.append('./')"); PyObject* pModule = PyImport_ImportModule("test_python"); PyObject* pFunc = PyObject_GetAttrString(pModule, "Add"); // 传入参数: i-int d-double PyObject* pArgs = Py_BuildValue("id", a, b); PyObject* pReturn = PyEval_CallObject(pFunc, pArgs); double nResult; PyArg_Parse(pReturn, "d", &nResult); Py_Finalize(); return nResult; } int main() { cout << testAdd(1, 2.34) << endl; return 0; }
VS2015 VC++目录:
- 包含目录:C:\Users\wenka\Anaconda3\envs\py35\include
- 库目录:C:\Users\wenka\Anaconda3\envs\py35\libs
环境变量:
Path=C:\Users\wenka\Anaconda3\envs\py35
PYTHONPATH=C:\Users\wenka\Anaconda3\envs\py35\DLLs;C:\Users\wenka\Anaconda3\envs\py35\Lib;C:\Users\wenka\Anaconda3\envs\py35\Lib\site-packages
PYTHONHOME=C:\Users\wenka\Anaconda3\envs\py35
我用的是Anaconda下的python,其他python路径类似
注意事项
- main.cpp test_python.py python35.dll在同一个文件夹下
2.请一定先确保python代码没有错误!!!
C++调用python时,如果python代码有问题,C++不会报错
Python与C++类型转换
相关文章推荐
- Python调用C/C++程序
- PY++ 自动将你的C++程序接口封装供python调用
- PY++ 自动将你的C++程序接口封装供python调用
- PY++ 自动将你的C++程序接口封装供python调用
- C++程序调用Python的函数(简单应用)及Ubuntu16.04下codeblocks的环境配置
- VS2013 c++调用python程序
- Python调用C++程序的方法详解
- 用python程序调用C/C++编译的可执行文件
- ubuntu下C++如何调用python程序,gdb调试C++代码
- linux Eclipse上c++调用使用了tensorflow库的python程序遇到的问题及解决方法
- Python调用C++程序备忘笔记
- python调用C++ 可执行程序并传递参数
- PY++ 自动将你的C++程序接口封装供python调用
- Windows C++程序调用包含TensorFlow代码的Python脚本出错问题的解决办法
- VS2013 c++调用python程序
- C++中调用python程序
- c++调用Python的第二个小程序
- Ubuntu 16.04下C++调用Python3.5程序
- Python中调用C++程序
- C++ 应用程序中 嵌入的python脚本与C++程序的互相调用(访问 通信)