关键词搜索

源码搜索 ×
×

Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值

发布2018-10-15浏览10504次

详情内容

dll中getColorName对应的定义声明如下:

 

因为Python中没有char这种数据,所以直接用会有如下的问题:

源码如下:

  1. import ctypes
  2. if __name__=='__main__':
  3. ll=ctypes.cdll.LoadLibrary
  4. lib=ll("judgeColor.dll")
  5. print(lib.getColorName("red.png"))

问题如下:

 

使用如下的方式,改变为byte在传入给dll,接收时调用string_at,转成string。

源码如下:

  1. import ctypes
  2. if __name__=='__main__':
  3. ll=ctypes.cdll.LoadLibrary
  4. lib =ll("judgeColor.dll")
  5. charPointer=bytes("black.png","gbk")
  6. result=lib.getColorName(charPointer)
  7. pyResult=ctypes.string_at(result);
  8. print(pyResult.decode("gbk"))
  9. pass

运行截图如下:

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载