python ctypes库2_指定参数类型和返回类型

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;
}


猜你喜欢

转载自blog.csdn.net/inch2006/article/details/79908384