python函数的参数类型和返回类型默认为int。
如果需要传递一个float值给dll,那么需要指定参数的类型。
如果需要返回一个flaot值到python中,那么需要指定返回数据的类型。
数据类型参考python文档:
https://docs.python.org/3.6/library/ctypes.html#fundamental-data-types
import ctypes path = r'E:\01_Lab\VisualStudioLab\cpp_dll\cpp_dll\Debug\cpp_dll.dll' dll = ctypes.WinDLL(path) dll.add_float.argtypes = [ctypes.c_float,ctypes.c_float] dll.add_float.restype = ctypes.c_float data_float = dll.add_float(7,10) # (ctypes.c_float(7.0),ctypes.c_float(10.0))
c++中函数如下:
DLLEXPORT float __stdcall add_float(float a,float b) { float sum = a + b; return sum; }
以上这篇python ctypes库2_指定参数类型和返回类型详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。