内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

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

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

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、自適應(yīng)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、軟件開發(fā)、面包屑導(dǎo)航、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
娄底市| 珲春市| 和林格尔县| 礼泉县| 东乌珠穆沁旗| 门头沟区| 连江县| 屏边| 内江市| 安泽县| 萍乡市| 兖州市| 永城市| 宁都县| 武胜县| 上饶县| 泰兴市| 麻城市| 县级市| 东丽区| 巨野县| 恭城| 得荣县| 龙里县| 嘉义县| 临沭县| 印江| 临泽县| 阿瓦提县| 镇康县| 永济市| 德昌县| 峨眉山市| 天气| 金湖县| 元氏县| 余干县| 山丹县| 墨竹工卡县| 万年县| 普兰县|