把Python嵌入C++的具體操作方案的介紹
Python是計算機語言中在實際應(yīng)用中較為簡潔的語言,在其實際應(yīng)用中可以避免很多其他語言在實際應(yīng)用過程中產(chǎn)生的不便之處,本文要談的是如何在Python嵌入C++ 的實際具體操作方案的介紹,你如果了解這一操作會讓你在Python實際應(yīng)用中得到更好的應(yīng)用。
Python嵌入C++ 的具體方案的介紹如下:
python是一門非常優(yōu)秀而且優(yōu)雅的語言,沒有了分號和大括號的煩惱,是你在開發(fā)中不用再擔心大括號匹配問題和語句結(jié)束分號遺漏的麻煩,好了,切入正題,本題談的是如何將python嵌入到C++中去,讓你的c++程序更上一層樓!
1.安裝python,
2.首先要設(shè)置庫文件,將python內(nèi)目錄下的include和lib包含進庫文件和庫包含中。
好了,我們開始工作了,先看一個小程序:
- #include<python.h>#include<iostream>using
namespace std;int main(){ Py_Initialize(); /*
初始化python解釋器
- */ PyRun_SimpleString("print 'hello world!'"); /*
調(diào)用python語句*/ Py_Finalize(); /*結(jié)束python解釋器,釋放資源*/}運行之后,將會在控制臺程序下輸出hello world!這就是我們的***個程序,其中***行和第三行是必須的,讓我們來看看更多的代碼,這是在c++程序中調(diào)用python腳本中的函數(shù):我們先寫一個腳本:
- ___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(); /*
結(jié)束Python解釋器,釋放資源
- */ return 0;}
- yImport_ImportModule()
是導(dǎo)入腳本的文件,參數(shù)是文件名
- PyObject_GetAttrString()
是從你import的文件中找到指定的函數(shù)PyEval_CallObject()是調(diào)用你的函數(shù),其中NULL部分為函數(shù)的參數(shù)。運行后,你將會看到hello world! 字符串。
【編輯推薦】