Python如何嵌入C/C++举办开拓
当前位置:以往代写 > Python教程 >Python如何嵌入C/C++举办开拓
2019-06-14

Python如何嵌入C/C++举办开拓

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++中相关的内容的先容,假如有问题接待在下方留言。

    关键字:

在线提交作业