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

yipeiwu_com7年前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设计】。

相关文章

在IPython中执行Python程序文件的示例

简单使用了一下之后,我觉得如果有机会(公司里面编码是极不自由的,也无所谓,我在公司不做数据分析),我肯定是更喜欢使用IPython作为我的Python shell环境了。简单的接触发现了...

详细介绍pandas的DataFrame的append方法使用

详细介绍pandas的DataFrame的append方法使用

官方文档介绍链接:append方法介绍 DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=...

Python fileinput模块使用实例

fileinput模块可以对一个或多个文件中的内容进行迭代、遍历等操作。 该模块的input()函数有点类似文件readlines()方法,区别在于: 前者是一个迭代对象,即每次只生成一...

python数据类型_字符串常用操作(详解)

这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号、双引号或者三引号,如下: name = 'hell...

Python函数学习笔记

局部名字静态检测 Python探测局部作用域的时候:是在python编译代码时检测,而不是通过他们在运行时的赋值。 正常的情况下,没在函数中复制的名字将在包含它的模块中查找: >&...