Python嵌入C++详解(1)--HelloWorld

来源:互联网 发布:java中异常的分类 编辑:程序博客网 时间:2024/05/17 02:37

来CSDN的时候,刚刚接触Python,那时候对Python的嵌入部分很感兴趣,只是一直没有时间来弄清其面纱,因此也一直没有使用嵌入的功能,另一个原因是我还没有真正用Python写过一个正式的有用点的东西,不过,现在回过头来继续看这一部分,发现还是挺简单的。以前想把这部分翻译出来,可是由于时间原因,也没有那精力,所以这里我会将我所探究的每个Python/C嵌入部分函数都用实例来说明,我想看代码比我解释要通俗易懂。

再说helloworld之前,先不得不提下嵌入的配置问题。

步骤:

1:请到官网下载python的安装程序,安装python(我想这步有点多余,不过还是写上吧)

2:接着你可能还需要下载python(与安装版本相同)源代码,因为我们需要在debug下编译链接生成对应的debug库,若你能在网上找到别人已经编译好的库,你也可以直接用别人的。这样得到2个debug版本的.lib和.dll

3:将python目录下的include文件夹下的文件移到编译系统的include中,然后将release和debug版本的.lib和.dll放到指定的文件夹中(lib放到编译系统lib,dll放到windows/system32/)

4:好了,配置就此完成了。

来看代码:

#include "python/python.h"  //我是将python那些头文件放在我自己建的名为python的文件夹中

int main(int argc,char** argv)
{
 Py_Initialize();//该函数启动python解释器,算是初始化

////////////////////////

//载入文件的方式运行指令,FILE是C标准库stdio.h文件中的一个结构,习惯C语言的应该很熟悉(不过我还是第一次使用,汗...)

 FILE * fr;
 fopen_s(&fr,"test.txt","r");
 PyRun_SimpleFile(fr,"test.txt");
 fclose(fr);

//直接运行指令,指令都是字符串,注意3.1.1版的python必须加上小括号

 PyRun_SimpleString("print('Hello world,I am python!')");

///////////////////////

 Py_Finalize();   //该函数关闭python解释器,算是扫尾

 return 0;
}

//附带test.txt
/*
from time import time,ctime
print('Today is', ctime(time()))
*/


文章出处:DIY部落(http://www.diybl.com/course/3_program/c/c_js/20090903/173641.html)

原创粉丝点击