vs2017好像没有
PyObject* PyIns = PyInstance_New(pyCls, NULL, NULL); // 创建tester类
前面介绍了用python调用C++时用swig工具,现在简单介绍一下C++调用python并取返回值的过程
python文件test.py
class tester:
def add(self, a, b):
return a + b
新建一个VS控制台项目
main.cpp所有的源码如下:
#include <stdio.h>
#include <python.h>
#include <windows.h>
void main()
{
Py_Initialize(); // 初始化python虚拟机
PyObject* pyMod = PyImport_ImportModule("test"); // 加载test.py文件
PyObject* pyDict = PyModule_GetDict(pyMod); // 获取test模块中的字典
PyObject* pyCls = PyDict_GetItemString(pyDict, "tester"); // 从字典中查找tester类
PyO