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

yipeiwu_com6年前Python基础

python函数的参数类型和返回类型默认为int。

如果需要传递一个float值给dll,那么需要指定参数的类型。

如果需要返回一个flaot值到python中,那么需要指定返回数据的类型。

数据类型参考python文档:

https://docs.python.org/3.6/library/ctypes.html

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_指定参数类型和返回类型详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python matplotlib库绘制条形图练习题

python matplotlib库绘制条形图练习题

练习一:假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a = ["战狼2","速度与激情8","功夫瑜伽","西游...

深入解析python中的实例方法、类方法和静态方法

深入解析python中的实例方法、类方法和静态方法

1、实例方法/对象方法 实例方法或者叫对象方法,指的是我们在类中定义的普通方法。 只有实例化对象之后才可以使用的方法,该方法的第一个形参接收的一定是对象本身 2、静态方法 (1).格式...

Python读写ini文件的方法

本文实例讲述了Python读写ini文件的方法。分享给大家供大家参考。具体如下: 比如有一个文件update.ini,里面有这些内容: [ZIP] EngineVersion=0 D...

Python使用回溯法子集树模板解决爬楼梯问题示例

Python使用回溯法子集树模板解决爬楼梯问题示例

本文实例讲述了Python使用回溯法子集树模板解决爬楼梯问题。分享给大家供大家参考,具体如下: 问题 某楼梯有n层台阶,每步只能走1级台阶,或2级台阶。从下向上爬楼梯,有多少种爬法? 分...

Python使用matplotlib填充图形指定区域代码示例

Python使用matplotlib填充图形指定区域代码示例

本文代码重点在于演示Python扩展库matplotlib.pyplot中fill_between()函数的用法。 import numpy as np import matplot...