Python如何嵌入C/C++举办开拓
假如你想把Python嵌入C/C++中是较量简朴的工作,你需要的是在VC中添加Python的include文件目次和lib文件目次。下面我们来看下如何把Python嵌入C/C++中。
VC6.0下,打开 tools->options->directories->show directories for,将Python安装目次下的inlude目次添加到inlude files项中,将libs目次添加到library files项中。
VC2005下,打开tools->options->项目息争决方案->VC++目次,然后做沟通事情。
代码如下:
在debug下执行堕落,“无法找到python31_d.lib文件”,后查到原因是:在debug下生成必需要有python31_d.lib文件,不然只能在release下生成
#include <python.h> int main() { Py_Initialize(); PyRun_SimpleString("Print 'hi, python!'"); Py_Finalize(); return 0; }
Py_Initialize函数原型是:void Py_Initialize()
把Python嵌入C/C++中时必需利用该函数,它初始化Python表明器,在利用其他的Python/C API之前必需先挪用该函数。可以利用Py_IsInitialized函数判定是否初始化乐成,乐成返回True。
PyRun_SimpleString函数原型是int PyRun_SimpleString(const char *command),用来执行一段Python代码。
留意:是否需要维持语句间的缩进呢?
Py_Finalize函数原型是void Py_Finalize(),用于封锁Python表明器,释放表明器所占用的资源。
PyRun_SimpleFile函数可以用来运行".py"剧本文件,函数原型如下:
int PyRun_SimpleFile(FILE *fp, const char *filename);
其 中fp是打开的文件指针,filename是要运行的python剧本文件名。可是由于该函数官方宣布的是由visual studio 2003.NET编译的,假如利用其他版本的编译器,FILE界说大概由于版本原因导致瓦解。同时,为轻便起见可以利用如下方法来取代该函数:
PyRun_SimpleString("execfile(‘file.py’)"); //利用execfile来运行python文件
Py_BuildValue()用于对数字和字符串举办转换处理惩罚,酿成Python中相应的数据范例(在C语言中,所有Python范例都被声明为PyObject范例),函数原型如下:
PyObject *Py_BuildValue(const char *format, …..);
PyString_String()用于将PyObject*范例的变量转换成C语言可以处理惩罚的char*型,详细原型如下:
char* PyString_String(PyObject *p);
以上就是对如何把Python嵌入C/C++中相关的内容的先容,假如有问题接待在下方留言。