真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例

python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例
這是我們的第一個(gè)示例,我們盡量簡(jiǎn)單,不傳參,不返回,不訪問其他的動(dòng)態(tài)鏈接庫
一 測(cè)試環(huán)境介紹和準(zhǔn)備
測(cè)試環(huán)境:
操作系統(tǒng):windows10
Python版本:3.7.0
VS版本:vs2015社區(qū)版(免費(fèi))
相關(guān)工具下載:
VS版本vs2015社區(qū)版(免費(fèi))
Python3.7.0 (源碼和安裝文件)
http://ffmpeg.club/python
二 C/C++部分代碼
1 首先完成C/C++的動(dòng)態(tài)鏈接庫,與做python擴(kuò)展庫不同,ctypes調(diào)用的c++庫其實(shí)與python沒有代碼關(guān)聯(lián),只是提供了開放公共標(biāo)準(zhǔn)。

創(chuàng)新互聯(lián)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)頁設(shè)計(jì)、小程序開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、app開發(fā)定制是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來見證!

2 創(chuàng)建VS的win32項(xiàng)目,選擇DLL庫的空項(xiàng)目,也可以選擇導(dǎo)出符號(hào),他會(huì)幫你把動(dòng)態(tài)庫的一些宏做好。
python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例
3 創(chuàng)建testctypes.cpp代碼
python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例
其中extern "C"表示將此函數(shù)編譯為c語言函數(shù),如果你源碼是.c也就是用c語言編譯則不需要加extern "C"。
__declspec(dllexport) 是windows中特有的導(dǎo)出庫函數(shù),如果沒有這個(gè)庫函數(shù)是訪問不到的,如果做跨平臺(tái)到linux中可以通過宏語法把它去掉。

4 將dll文件導(dǎo)出設(shè)置到當(dāng)前項(xiàng)目路徑,并完成編譯
python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例
我們編譯出win32的debug庫,注意位數(shù)不能錯(cuò),如果是python是64位的也編譯64位的庫
python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例

三 Python部分的代碼
from ctypes import
lib = CDLL("testctypes") #可以加路徑
lib.CFunction()
python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例
from ctypes import
導(dǎo)入ctypes庫所有類和函數(shù)
CDLL("testctype")加載具體的動(dòng)態(tài)鏈接庫文件,可以加入路徑比如 dll/testctype ,在windows中省略動(dòng)態(tài)庫的后綴名dll,python會(huì)找testctype.dll的文件。注意dll文件可以放在python執(zhí)行的路徑下,也可以放到系統(tǒng)路徑或者path環(huán)境變量所設(shè)置的路徑。
lib.CFunction() 加載動(dòng)態(tài)鏈接庫中的CFunction函數(shù),注意雖然我們用c++來做擴(kuò)展庫,python本身也做了很多支持c++的代碼,但ctypes訪問函數(shù)只支持C語言函數(shù),C++函數(shù)因?yàn)橛兄剌d函數(shù)名不確定,所以無法訪問。
運(yùn)行測(cè)試結(jié)果
python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例
測(cè)試成功,第一步我們完成,下一篇文章再開始來添加參數(shù)和返回值

相關(guān)課程視頻可以觀看
python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例
http://edu.51cto.com/course/15278.html


文章標(biāo)題:python3使用ctypes在windows中訪問C和C++動(dòng)態(tài)鏈接庫函數(shù)示例
網(wǎng)站網(wǎng)址:http://weahome.cn/article/pgchoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部