最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用ctypes調(diào)用dll遇到的坑解決記錄

 更新時間:2023年12月22日 11:14:16   作者:小縱橫?Go學(xué)習(xí)日記  
這篇文章主要為大家介紹了python使用ctypes調(diào)用dll遇到的坑解決記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

使用ctypes調(diào)用dll遇到的坑

dll調(diào)用

from ctypes import *
dll = windll.LoadLibrary('MyDLL.ll')  # 方式1
dll = WinDLL('MyDLL.ll')  # 方式2
dll = CDLL('MyDLL.dll')  # 方式3
dll = cdll.LoadLibrary('MyDLL.dll') # 方式4
# 以上4中調(diào)用方式差不多

問題分析

報(bào)錯OSError: [WinError 126] 找不到指定的模塊

2個原因:

1. dll的路徑寫錯了,

2. 缺少相關(guān)依賴庫

我本機(jī)裝的 vs2017,但是我拿到的dll是vs2012編譯的,會有問題,我用vs2017重新編譯后就解決了這個問題.

還有可能遇到dll無效的問題,這個是版本的原因,64位的python對應(yīng)64位的dll,32位對應(yīng)32位即可.

dll內(nèi)方法的調(diào)用

出現(xiàn) access violation reading 0x0000000025F0FA60這種異常,出現(xiàn)在函數(shù)需要傳遞指針的時候,解決辦法需要指定argtypes.

dll.CreateProcess.restype = c_void_p   # 對應(yīng)c的void*
theEnv = dll.CreateProcess()
# 指定參數(shù)類型
dll.Initialization.argtypes = [c_void_p,c_char_p,c_char_p,c_char_p]
p1 = c_char_p("xxx1.txt".encode('utf-8'))
p2 = c_char_p("xxx2.txt".encode('utf-8'))
p3 = c_char_p("xxx3.txt".encode('utf-8'))
ret = c_int(0)
# 此處傳遞過來的參數(shù)也需要是對應(yīng)的類型的參數(shù)
ret = dll.Initialization(theEnv, p1, p2 ,p3)
# ctypes里沒有c_int的指針類型,這里需要用POINTER自己定義一下
c_int_p = POINTER(c_int*100)  
faultID = c_int_p()
dll.GetFaultList.argtypes = [c_void_p,c_int_p]
dll.GetFaultList.restype = c_int
# 這里faultID傳參時不要忘了用類型包裝,否則就會出現(xiàn)access violation異常
rtn = dll.GetFaultList(theEnv, c_int_p(faultID))

以上就是python使用ctypes調(diào)用dll遇到的坑解決記錄的詳細(xì)內(nèi)容,更多關(guān)于python ctypes調(diào)用dll坑的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一文詳解Python如何同時迭代多個序列

    一文詳解Python如何同時迭代多個序列

    在現(xiàn)代數(shù)據(jù)處理和系統(tǒng)開發(fā)中,同時迭代多個序列是解決復(fù)雜問題的關(guān)鍵技術(shù),本文將深入解析Python多序列迭代技術(shù)體系,感興趣的小伙伴可以了解一下
    2025-09-09
  • Python 刪除整個文本中的空格,并實(shí)現(xiàn)按行顯示

    Python 刪除整個文本中的空格,并實(shí)現(xiàn)按行顯示

    今天小編就為大家分享一篇Python 刪除整個文本中的空格,并實(shí)現(xiàn)按行顯示,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python執(zhí)行ping操作的簡單方法

    Python執(zhí)行ping操作的簡單方法

    本文主要介紹了Python執(zhí)行ping操作的簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 在自動化中用python實(shí)現(xiàn)鍵盤操作的方法詳解

    在自動化中用python實(shí)現(xiàn)鍵盤操作的方法詳解

    今天小編就為大家分享一篇在自動化中用python實(shí)現(xiàn)鍵盤操作的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python圖像處理模塊ndimage用法實(shí)例分析

    Python圖像處理模塊ndimage用法實(shí)例分析

    這篇文章主要介紹了Python圖像處理模塊ndimage用法,結(jié)合實(shí)例形式分析了Python圖像處理模塊ndimage基本功能及常見的圖形運(yùn)算操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-09-09
  • django站點(diǎn)管理詳解

    django站點(diǎn)管理詳解

    這篇文章主要介紹了django站點(diǎn)管理詳解,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • spark?dataframe全局排序id與分組后保留最大值行

    spark?dataframe全局排序id與分組后保留最大值行

    這篇文章主要為大家介紹了spark?dataframe全局排序id與分組后保留最大值行實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Python快速實(shí)現(xiàn)分列轉(zhuǎn)到行的示例代碼

    Python快速實(shí)現(xiàn)分列轉(zhuǎn)到行的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python快速實(shí)現(xiàn)分列轉(zhuǎn)到行的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)一下
    2023-03-03
  • 編寫Python腳本來獲取Google搜索結(jié)果的示例

    編寫Python腳本來獲取Google搜索結(jié)果的示例

    這篇文章主要介紹了編寫Python腳本來獲取Google搜索結(jié)果的示例,也是利用Python編寫爬蟲的一個簡單實(shí)現(xiàn),需要的朋友可以參考下
    2015-05-05
  • Python?print函數(shù):如何將對象打印輸出

    Python?print函數(shù):如何將對象打印輸出

    這篇文章主要介紹了Python?print函數(shù):如何將對象打印輸出,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論

海口市| 肥城市| 略阳县| 孝昌县| 中宁县| 淮阳县| 香港 | 石嘴山市| 临沭县| 德阳市| 游戏| 托克托县| 新安县| 湘阴县| 桂平市| 白河县| 美姑县| 若尔盖县| 屏东县| 历史| 吉木乃县| 新建县| 云阳县| 册亨县| 佛教| 邻水| 西畴县| 隆子县| 万宁市| 池州市| 永定县| 高阳县| 六盘水市| 色达县| 青龙| 合水县| 原平市| 玛纳斯县| 武平县| 繁峙县| 华容县|