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


Posted in Python onNovember 19, 2019

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

以上这篇python ctypes库2_指定参数类型和返回类型详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现设置windows桌面壁纸代码分享
Mar 28 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
May 05 Python
python相似模块用例
Mar 04 Python
Python打包可执行文件的方法详解
Sep 19 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
对python当中不在本路径的py文件的引用详解
Dec 15 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
Python collections中的双向队列deque简单介绍详解
Nov 04 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
如何让PyQt5中QWebEngineView与JavaScript交互
Oct 21 Python
Python打包exe时各种异常处理方案总结
May 18 Python
Python 使用type来定义类的实现
Nov 19 #Python
Pytorch中index_select() 函数的实现理解
Nov 19 #Python
wxPython多个窗口的基本结构
Nov 19 #Python
windows中安装Python3.8.0的实现方法
Nov 19 #Python
让你的Python代码实现类型提示功能
Nov 19 #Python
wxPython实现分隔窗口
Nov 19 #Python
浅谈Python type的使用
Nov 19 #Python
You might like
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
php绘制一条直线的方法
2015/01/24 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
js中document.write的那点事
2014/12/12 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
Angular刷新当前页面的实现方法
2018/11/21 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python中assert用法实例分析
2015/04/30 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
html5与css3小应用
2013/04/03 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
什么是URL
2015/12/13 面试题
如何判断计算机可能已经中马
2013/03/22 面试题
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
财务总监管理岗位职责
2014/03/08 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle