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

yipeiwu_com5年前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设计模式之迭代器模式原理与用法实例分析

Python设计模式之迭代器模式原理与用法实例分析

本文实例讲述了Python设计模式之迭代器模式原理与用法。分享给大家供大家参考,具体如下: 迭代器模式(Iterator Pattern):提供方法顺序访问一个聚合对象中各元素,而又不暴...

python批量下载网站马拉松照片的完整步骤

python批量下载网站马拉松照片的完整步骤

前言 目前学习python几个月了,由于自己比较喜欢跑马拉松,已经跑过了很多场比赛,前些天就写了个简单的爬虫爬取了网上三千多场马拉松比赛的报名信息。 今年5月27日,我又参加了巴图鲁...

Python 3.3实现计算两个日期间隔秒数/天数的方法示例

Python 3.3实现计算两个日期间隔秒数/天数的方法示例

本文实例讲述了Python 3.3实现计算两个日期间隔秒数/天数的方法。分享给大家供大家参考,具体如下: >>> import datetime >>&...

对Python进行数据分析_关于Package的安装问题

对Python进行数据分析_关于Package的安装问题

一、为什么要使用Python进行数据分析? python拥有一个巨大的活跃的科学计算社区,拥有不断改良的库,能够轻松的集成C,C++,Fortran代码(Cython项目),可以同时用于...

python中的内置函数max()和min()及mas()函数的高级用法

python中的内置函数max()和min()及mas()函数的高级用法

max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) 函数功能为取传入的多个参数中的最大值,或者传入的可迭代对象元...