此文是学习笔记,供日后翻阅。
下面列出C++访问python所需的函数,按调用的先后次序排列。
提示: 其中实例化类的方法是python3中的,若要使用python2,则用PyInstance_New这个方法。有关此方法网上有很多资料,就不列出了。
//PyInitialize: 必须首先调用,初始化python运行所需模块。它无参数、无返回值
void Py_Initialize();
/*Py_IsInitialized: 检查初始化是否成功
*返回值: 成功返回true*/
bool Py_IsInitialized();
/*PyImport_ImportModule: 加载python模块
*szModuleName: 模块名称
*返回值: 成功加载返回模块指针*/
PyObject *PyImport_ImportModule(const char *szModuleName);
/*PyModule_GetDict: 获取模块字典
*pModule: 模块指针
*返回值: 成功从指定模块获取字典返回字典指针*/
PyObject *PyModule_GetDict(PyObject *pModule);
/*PyDict_GetItemString: 从模块字典中获取指定的对象
*pDict: 被查找的模块字典指针
*key: 要查找的模块中的函数或类名
*返回值: 若找到指定的对象,返回指向它的指针;否则返回NULL*/
PyObject *PyDict_GetItemString(PyObject *pDict, const char *key);
/*PyInstanceMethod_New: 实例化从模块字典中查找到的类
*pClass: 从模块字典中找到的类信息指针
*返回值: 根据类信息指针构造该类的实例,并返回它的指针*/
PyObject *PyInstanceMethod_New(PyOb