Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值
发布日期:2021-06-30 10:57:11 浏览次数:2 分类:技术文章

本文共 503 字,大约阅读时间需要 1 分钟。

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

 

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

源码如下:

import ctypesif __name__=='__main__':	ll=ctypes.cdll.LoadLibrary	lib=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

运行截图如下:

转载地址:https://it1995.blog.csdn.net/article/details/83058756 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C++|Qt工作笔记-Windows平台下的句柄与Qt中QWindow::winId()以及 QPlatformWindow::handle的区别与联系
下一篇:OpenCV识别指定颜色(黑、灰、白、红、橙、黄、绿、青、蓝、紫)

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年05月01日 16时16分12秒