Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值
生活随笔
收集整理的這篇文章主要介紹了
Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
dll中getColorName對應的定義聲明如下:
?
因為Python中沒有char這種數據,所以直接用會有如下的問題:
源碼如下:
import ctypesif __name__=='__main__':ll=ctypes.cdll.LoadLibrarylib=ll("judgeColor.dll")print(lib.getColorName("red.png"))問題如下:
?
使用如下的方式,改變為byte在傳入給dll,接收時調用string_at,轉成string。
源碼如下:
import ctypes if __name__=='__main__':ll=ctypes.cdll.LoadLibrary lib =ll("judgeColor.dll") charPointer=bytes("black.png","gbk")result=lib.getColorName(charPointer)pyResult=ctypes.string_at(result);print(pyResult.decode("gbk"))pass運行截圖如下:
總結
以上是生活随笔為你收集整理的Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt学习笔记-基于QGraphicsSc
- 下一篇: C++ STL string与算法