如果你把Python嵌入C/C++中你就会在实际应用中体会Python的强大功能,嵌入Python能替代相关动态链接库形式的相关接口,这样不仅能方便地根据需要修改脚本代码,而不用重新编译链接二进制的动态链接库。
创新互联公司服务项目包括同仁网站建设、同仁网站制作、同仁网页制作以及同仁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,同仁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到同仁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
高层次嵌入Python
使用Python/C API可以在较高层次上嵌入Python。所谓的高层次嵌入主要是指程序与脚本间没有交互。在VC++ 6.0中新建一个空“Win32 Console Application”,在工程中新建一个C源文件。将如下所示代码添加到其中。
- #include
- int main()
- {
Py_Initialize(); /* Python解释器初始化 */
PyRun_SimpleString("print 'hi,python!'"); /* 运行字符串 */
Py_Finalize(); /* 结束Python解释器,释放资源 */
- return 0;
- }
编译工程,运行程序后输出如下所示。
- hi,python!
可以看到程序很简单,只使用了3个函数。其中Py_Initialize函数的原型如下所示。
- void Py_Initialize()
Python嵌入C/C++时必须使用该函数,它初始化Python解释器。在使用其他的Python/C API之前必须先调用Py_Initialize函数。其中PyRun_SimpleString函数用来执行一段Python代码。其函数原型如下所示。
- int PyRun_SimpleString(const char *command)
在程序的***使用了Py_Finalize函数,其原型如下所示。
- void Py_Finalize()
Py_Finalize函数用于关闭Python解释器,释放解释器所占用的资源。
除了使用PyRun_SimpleString函数以外,还可以使用PyRun_SimpleFile()函数来运行“.py”脚本文件。其函数原型如下所示。
- int PyRun_SimpleFile( FILE *fp, const char *filename)
其参数含义如下。
· fp:打开的文件指针。
· filename:要运行的Python脚本文件名。
在Windows下使用该函数时需要注意所使用的编译器版本。由于官方发布的Python是由Visual Studio 2003.NET编译的。如果使用其他版本的编译器,由于版本差异导致FILE的定义有所区别,因此使用其他版本的编译器会导致程序崩溃。
为了简便起见可以使用如下方式来代替PyRun_SimpleFile函数实现同样的功能。
- PyRun_SimpleString("execfile('file.py')");
使用execfile运行Python脚本文件
以上就是对Python嵌入C/C++可以使用Python提供的强大功能上面的文章主要介绍的是C/C++高层次嵌入Python相关的内容的介绍,望你会有所收获。
标题名称:Python嵌入C/C++会产生的强大功能的介绍
URL网址:http://www.shufengxianlan.com/qtweb/news46/261296.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联