欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于ctypes调用dll时的参数类型和返回值类型问题

程序员文章站 2024-01-10 18:24:00
...

python 调用dll时,一般要指定参数类型和返回值类型:


import ctypes
ll=ctypes.CDLL("pythontest3.dll")
path= ctypes.c_char_p("C:\Users\Public\Pictures\Sample Pictures\\a.jpg")
path2= ctypes.c_char_p("C:\Users\Public\Pictures\Sample Pictures\\b.jpg")
ll.MSE.restype = ctypes.c_double#指定MSE的返回类型为double
ll.PSNR.restype=ctypes.c_double#指定PSNR的返回值为double
 
指定返回值类型很重要,否则得到的结果会有错误

ll.abc.argtypes =[ctypes.c_char_p,ctypes.c_char_p]#指定参数类型
print ll.MSE(path.value,path.value)