卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

python導(dǎo)入模塊方法 怎樣在python程序中嵌入C程序片段?

怎樣在python程序中嵌入C程序片段?如果想在C/C中嵌入Python,相對簡單。你需要的是添加Python 包含文件目錄和lib文件目錄到VC中。讓 讓我們看看如何在C/C中嵌入Python。在

怎樣在python程序中嵌入C程序片段?

如果想在C/C中嵌入Python,相對簡單。你需要的是添加Python 包含文件目錄和lib文件目錄到VC中。讓 讓我們看看如何在C/C中嵌入Python。

在VC6.0下,打開工具-gt選項-gt目錄-gt顯示目錄,將Python安裝目錄下的inlude目錄添加到inlude文件項,將libs目錄添加到庫文件項。

在VC2005下,打開工具-gtoptions-gt項目和解決方案-gtVC目錄,然后做同樣的工作。

代碼如下:

在調(diào)試狀態(tài)下執(zhí)行時出錯無法找到python 31 _ file "。后來發(fā)現(xiàn)debug下生成需要python31_ file,否則只能在release下生成。

一個

2

#包含ltpython.hgt

int main()

{

Py_Initialize()

PyRun _ SimpleString(打印hi,python!)

Py_Finalize()

返回0

}

Py_Initialize函數(shù)的原型是:void Py_Initialize()。

在C/C中嵌入Python時必須使用這個函數(shù),它初始化Python解釋器,必須在使用其他Python/C API之前調(diào)用。可以使用Py_IsInitialized函數(shù)來判斷初始化是否成功,如果成功則返回True。

pyron _ simple string函數(shù)的原型是int pyron _ simple string(const char * command),用來執(zhí)行一段Python代碼。

注意:語句之間需要保持縮進嗎?

Py_Finalize函數(shù)的原型是void Py_Finalize(),用來關(guān)閉Python解釋器,釋放解釋器占用的資源。

PyRun _ SimpleFile函數(shù)可用于運行。腳本文件。該函數(shù)的原型如下:

int pyron _ simple FILE(FILE * FP,const char *filename)

其中fp是指向打開文件的指針,filename是要運行的python腳本的名稱。但是因為這個功能是visual studio官方發(fā)布的。

編譯,如果使用其他版本的編譯器,F(xiàn)ILe定義可能因版本而崩潰。同時,為了簡單起見,可以用下面的方法代替這個函數(shù):pyron _ simple string(execfile( ; ))//使用execfile運行python文件。

Py_BuildValue()用于將數(shù)字和字符串轉(zhuǎn)換成Python中相應(yīng)的數(shù)據(jù)類型(在C語言中,所有Python類型都聲明為PyObject類型),函數(shù)原型如下:

Py object * Py _ build value(const char * format,…..)

PyString_String()用于將PyObject*類型的變量轉(zhuǎn)換成C語言可以處理的char*類型。具體原型如下:

char * py String _ String(py object * p)

Python如何嵌入C/C 進行開發(fā)?

你說的是在C/C程序中調(diào)用Python。這很容易實現(xiàn)。只需要在頭文件中引入Python.件,然后在編譯時鏈接到Python庫即可。下面我簡單介紹一下。以Linux系統(tǒng)為例,感興趣的朋友可以試試:

01安裝python-devel插件首先安裝python-devel插件,里面有C/C程序調(diào)用python的頭文件和庫文件,在編寫和編譯程序的時候會用到。安裝時,只需輸入命令 "yum install-y python-devel "直接在終端。默認(rèn)情況下,安裝Python2。如果需要安裝Python3.x,運行命令 "yum install-y python "。

02C/C程序調(diào)用Python插件安裝完成后,我們可以直接編寫C/C程序調(diào)用Python。測試代碼如下。這里我簡單地輸出一個Python語句?;舅悸肥窍瘸跏蓟僬{(diào)用Python,最后結(jié)束。整個過程非常簡單易懂:

寫入完成后,wq保存程序,然后運行命令 "gcc -lpython2.7測試在終端中(這里用你的C/C文件代替),程序就可以正常編譯了。運行效果如下,符合預(yù)期:

當(dāng)然也可以直接調(diào)用py文件(腳本),傳入?yún)?shù),得到返回結(jié)果。這里我簡單地寫了一個加法求和函數(shù),輸入兩個參數(shù),返回一個結(jié)果:

C/C調(diào)用代碼如下?;玖鞒毯椭耙粯印J紫瘸跏蓟?,然后加載模塊,調(diào)用函數(shù),傳入?yún)?shù),最后得到執(zhí)行結(jié)果。代碼量多一點,但也不難理解。:

至此,我們已經(jīng)完成了在C/C程序中對Python的調(diào)用。總的來說,整個過程很簡單。只要你有一定的C/C基礎(chǔ),熟悉上面的例子和代碼,很快就能掌握。Windows環(huán)境類似,也需要導(dǎo)入相應(yīng)的頭文件和庫。網(wǎng)上也有相關(guān)教程和資料,非常詳細(xì)。有興趣的可以搜一下。希望以上分享的內(nèi)容能對你有所幫助,也歡迎大家提出意見和評論進行補充。