使用python调用已经封装成dll的.c文件中的函数,若返回值的类型不是整型则需要在py中对该函数的返回值类型进行修改,如下:
# 导入dll文件
f = ct.cdll.LoadLibrary('F:\\file_of_laser_scanner\\python工程\\扫描器模型测量\\dll库\\Dll1\\Debug\\Dll1.dll')
# 对函数的返回值类型进行修改
# a = f.aaa
# a.restype = ct.c_double
# 计算
res = f.aaa(ct.c_double(0.1), ct.c_double(2.2))
# 输出结果
print(res)
其中函数aaa是求两个浮点数的积,如下:
//测试程序
double aaa(double qq, double bb)
{
return qq * bb;
}
运行结果:
1、正常运行的结果
2、注释掉对应的更改返回值类型的代码之后
# 导入dll文件
f = ct.cdll.LoadLibrary('F:\\file_of_laser_scanner\\python工程\\扫描器模型测量\\dll库\\Dll1\\Debug\\Dll1.dll')
# 对函数的返回值类型进行修改
# a = f.aaa
# a.restype = ct.c_double
# 计算
res = f.aaa(ct.c_double(0.1), ct.c_double(2.2))
# 输出结果
print(res)