ctypes相关内容

从 Python 调用的 C++ dll

我在 MFC 中使用了一个 C++ dll,我想从 python 中调用它.此 dll 在 .h 文件中包含此标头 LONG CommOpen(BYTE port, LONG baud_rate); 然后我在免费软件 dllexp 中看到我的函数在二进制文件中被称为 ?CommOpen@CFIPcmd@@QAEJEJ@Z 所以我在 python 中执行时不会报告错误 导入 ctypeslib ..
发布时间:2022-01-12 14:39:36 C/C++开发

如何为 Python 打包的 libcrypto 和 libssl 启用 FIPS 模式?

我有一个 Python 应用程序,它与 Python 和 Libcrypto 以及 LibSSL 共享对象打包在一起.该应用程序是使用 Openssl Fips Module 2.0 构建的.Python 的请求模块和 urllib3 在后台使用这些共享对象来发出 TLS 请求. 我在构建应用程序的环境中启用了 OPENSSL_FIPS 标志.现在如果想检查共享对象是否在我将它们从开发环境中 ..
发布时间:2022-01-07 19:11:26 Python

直接在 Scipy 稀疏矩阵上使用 Intel mkl 库以更少的内存计算 A 点 A.T

我想从 python 调用 mkl.mkl_scsrmultcsr.目标是计算 压缩稀疏行 格式.稀疏矩阵C是A与A的转置的矩阵乘积,其中A也是csr格式的稀疏矩阵.当用 scipy 计算 C = A dot (AT) 时,scipy 似乎 (?)矩阵).所以,我想尝试直接使用 mkl c 函数来减少内存使用. 这里适用于另一个 mkl 函数的答案.在那个答案中,mkl 函数快了 4 倍. ..
发布时间:2021-12-31 11:53:36 Python

使用`as_ptr()`时如何阻止内存泄漏?

由于这是我第一次学习系统编程,我很难理解规则.现在,我对内存泄漏感到困惑.让我们考虑一个例子.比如说,Rust 正在抛出一个指针(指向一个字符串),Python 会捕捉到这个指针. 在 Rust 中,(我只是发送 CString 的指针) 使用 std::ffi::CString;pub extern fn do_something() ->*const c_char {CString:: ..
发布时间:2021-12-30 23:47:26 Python

在 python 中使用 ctypes 访问 C# dll 的方法

我想在我的 Python 程序的关键部分实现 C# 代码以使其更快.它说(在 Python 文档和 本网站),您可以按如下方式加载动态链接库(以及 PyDocs): cdll.LoadLibrary("your-dll-goes-here.dll") 这是我的代码中负责处理此功能的部分: from ctypes import *z = [0.0,0.0]c = [LEFT+x*(RI ..
发布时间:2021-12-25 16:24:27 C#/.NET

使用 ctypes 列出从 dll 导出的函数

有什么办法可以通过python外部函数库ctypes知道dll中导出了哪些函数? 如果可能的话,可以通过 ctypes 了解有关导出函数的详细信息. 如果是,有人可以提供一段代码吗? 解决方案 我认为 ctypes 不提供此功能.在带有 Visual Studio 的 Windows 上: DUMPBIN -EXPORTS XXX.DLL 或用于 windows 上的 mi ..
发布时间:2021-12-25 16:07:15 Python

Python 2 和 3 之间 ctypes 的差异

我有一个调用 DLL 的工作 python 2.7 程序.我正在尝试将脚本移植到 python 3.2.DLL 调用似乎有效(即调用时没有错误),但返回的数据没有意义. 以防万一它可能有用:- 调用需要三个参数:两个 int(输入)和一个指向 ushort 数组的指针(输出). 我尝试使用 python 和 numpy 数组但没有成功. 谁能列举 Python 2.7 和 3.2 ..
发布时间:2021-12-25 16:00:48 Python

C DLL 在 C++ 程序中加载,而不是在 python Ctypes 中

关于 python/ctypes 和 dll 加载的问题. 我使用 VSExpress 2010 创建了一个 C Dll(extern C 声明).我可以使用 CPP 测试程序加载和执行这个 dll.但是,当我尝试通过 ctypes 在 python 中加载 dll 时,我收到旧的“WindowsError: [Errno 126] 找不到指定的模块"错误消息. 到目前为止,我已经完成 ..
发布时间:2021-12-25 15:47:26 Python

如何在 Python 中使用 ctypes 卸载 DLL?

我正在使用 ctypes 在 Python 中加载 DLL.这很好用. 现在我们希望能够在运行时重新加载该 DLL. 直接的方法似乎是:1.卸载DLL2.加载DLL 不幸的是,我不确定卸载 DLL 的正确方法是什么. _ctypes.FreeLibrary 可用,但私有. 是否有其他方法可以卸载 DLL? 解决方案 你应该可以通过处置对象来做到这一点 myd ..
发布时间:2021-12-25 15:47:19 Python

如何使用 ctypes (Structure <-> str) 打包和解包

这可能是一个愚蠢的问题,但我在文档或任何地方都找不到好的答案. 如果我使用struct来定义一个二进制结构,该结构有2种对称的序列化和反序列化方法(打包和解包),但似乎ctypes没有一个直接的方法来做到这一点.这是我的解决方案,感觉不对: from ctypes import *类示例(结构):_字段_ = [(“索引",c_int),(“计数器",c_int),]定义包(ctype_i ..
发布时间:2021-12-23 16:58:11 Python

蟒蛇|使用 ctypes 访问 dll

我正在尝试访问 Firefox 网络浏览器附带的 dll (nss3.dll) 中的某些功能.为了处理这个任务,我在 Python 中使用了 ctypes.问题是它在初始点失败,即在将 dll 加载到内存中时. 这是我必须这样做的代码片段. >>>从 ctypes 导入 *>>>windll.LoadLibrary("E:\\nss3.dll") 我得到的例外是 回溯(最近一次调用 ..
发布时间:2021-12-19 13:26:24 Python

将 Numpy 数组传递给 C 函数以进行输入和输出

哦,我是个傻瓜.我只是在调用函数时省略了第二个和第三个参数.像个傻瓜.因为这就是我.原来的愚蠢问题如下: 这个好像应该是很常见的事情了,但是找不到相关教程,对Numpy和ctypes太无知了自己想办法. 我在文件 ctest.c 中有一个 C 函数. #include void cfun(const void * indatav, int rowcount, int colcount ..
发布时间:2021-12-08 09:42:39 Python

从 ctypes 数组获取数据到 numpy

我正在使用 Python(通过 ctypes)包装的 C 库来运行一系列计算.在运行的不同阶段,我想将数据导入Python,特别是numpy数组. 我使用的包装对数组数据执行两种不同类型的返回(我特别感兴趣): ctypes Array:当我执行 type(x)(其中 x 是 ctypes数组,我得到一个 ..
发布时间:2021-12-08 09:39:07 Python