- ython在实际应用中具有很多的优点,C++ 也不例外,那你是否想过将Python嵌入C++ 时,它们在实际操作的过程中相关功能是否会得到最大限度的发挥?
Python是计算机语言中在实际应用中较为简洁的语言,在其实际应用中可以避免很多其他语言在实际应用过程中产生的不便之处,本文要谈的是如何在Python嵌入C++ 的实际具体操作方案的介绍,你如果了解这一操作会让你在Python实际应用中得到更好的应用。
Python嵌入C++ 的具体方案的介绍如下:
python是一门非常优秀而且优雅的语言,没有了分号和大括号的烦恼,是你在开发中不用再担心大括号匹配问题和语句结束分号遗漏的麻烦,好了,切入正题,本题谈的是如何将python嵌入到C++中去,让你的c++程序更上一层楼!
1.安装python,
2.首先要设置库文件,将python内目录下的include和lib包含进库文件和库包含中。
好了,我们开始工作了,先看一个小程序:
- #include<python.h>#include<iostream>using
namespace std;int main(){ Py_Initialize(); /*
初始化python解释器
- */ PyRun_SimpleString("print 'hello world!'"); /*
调用python语句*/ Py_Finalize(); /*结束python解释器,释放资源*/}运行之后,将会在控制台程序下输出hello world!这就是我们的第一个程序,其中第一行和第三行是必须的,让我们来看看更多的代码,这是在c++程序中调用python脚本中的函数:我们先写一个脚本:
- ___def helloworld():
- _______print 'hello world!'
然后保存为first.py文件到当前工程下的目录,代码如下:
- #include<python.h>int main(){PyObject* p_module
= NULL;PyObject* p_func = NULL;
Py_Initialize(); /*
Python解释器初始化
- */ p_module = PyImport_ImportModule("first");
p_func = PyObject_GetAttrString
(p_module, "hello");PyEval_CallObject
(p_func, NULL);Py_Finalize(); /*
结束Python解释器,释放资源
- */ return 0;}
- yImport_ImportModule()
是导入脚本的文件,参数是文件名
- PyObject_GetAttrString()
是从你import的文件中找到指定的函数PyEval_CallObject()是调用你的函数,其中NULL部分为函数的参数。运行后,你将会看到hello world! 字符串。
- #include<python.h>#include<iostream>using