python ctypes教程 python用ctypes調(diào)用dll時(shí)如何得知dll的方法?
python用ctypes調(diào)用dll時(shí)如何得知dll的方法?依賴項(xiàng)可以看到函數(shù)的名稱。調(diào)用ctypes時(shí),也可以根據(jù)序列號調(diào)用函數(shù)。但如果你沒有任何細(xì)節(jié),就不要打電話。畢竟,你需要構(gòu)造參數(shù),對嗎?你知
python用ctypes調(diào)用dll時(shí)如何得知dll的方法?
依賴項(xiàng)可以看到函數(shù)的名稱。調(diào)用ctypes時(shí),也可以根據(jù)序列號調(diào)用函數(shù)。但如果你沒有任何細(xì)節(jié),就不要打電話。畢竟,你需要構(gòu)造參數(shù),對嗎?你知道參數(shù)類型嗎?字符串參數(shù)緩沖區(qū)有多長?錯(cuò)誤是例外。
如何利用python調(diào)用編譯好的dll庫?
這并不難。它主要使用Python的ctypes模塊。接下來,我將簡要介紹一下實(shí)現(xiàn)過程。實(shí)驗(yàn)環(huán)境是win10python3.6pycharm5.0,主要內(nèi)容如下:
1。在這里為了方便解釋問題,我編譯了一個(gè)簡單的DLL庫,源代碼如下,非常簡單,一個(gè)帶參數(shù)的mul函數(shù):
編譯成功后,將在當(dāng)前發(fā)行目錄下生成一個(gè)DLLdllTest.dll接下來,我們創(chuàng)建一個(gè)新的py文件,它的主要代碼如下,非常簡單簡單:
程序運(yùn)行截圖如下,已成功調(diào)用add函數(shù),并返回執(zhí)行結(jié)果:
3。在這里我們還可以使用windll來加載DLL庫,基本步驟都是一樣的,只需直接調(diào)用,如下所示:
程序運(yùn)行截圖如下:
到目前為止,我們已經(jīng)完成了使用Python調(diào)用DLL庫。一般來說,整個(gè)過程很簡單,代碼量不多,很容易理解,cdll和WINDL這兩種方式都可以很快完成,只要你熟悉相關(guān)的代碼和例子,練習(xí)幾次,你很快就能掌握,網(wǎng)上還有相關(guān)的教程和資料,如果您感興趣,可以搜索,希望以上分享的內(nèi)容能對您有所幫助,也歡迎大家發(fā)表評論和留言。