python 调用非int返回值的dll函数需要事先改变返回值的类型

使用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)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值