ctypes相关内容
我将 rs232.c 构建为共享库并尝试使用 python3 调用它.但是我得到了“分段错误";尝试获取 com 端口 tcgetattr() 的属性时出错.有谁知道这是什么问题?我的操作系统是树莓派 p3. testcom.py from ctypes import *comdll = cdll.LoadLibrary("rs232.so")comdll.RS232_OpenCompor
..
我在 MFC 中使用了一个 C++ dll,我想从 python 中调用它.此 dll 在 .h 文件中包含此标头 LONG CommOpen(BYTE port, LONG baud_rate); 然后我在免费软件 dllexp 中看到我的函数在二进制文件中被称为 ?CommOpen@CFIPcmd@@QAEJEJ@Z 所以我在 python 中执行时不会报告错误 导入 ctypeslib
..
我有一个 Python 应用程序,它与 Python 和 Libcrypto 以及 LibSSL 共享对象打包在一起.该应用程序是使用 Openssl Fips Module 2.0 构建的.Python 的请求模块和 urllib3 在后台使用这些共享对象来发出 TLS 请求. 我在构建应用程序的环境中启用了 OPENSSL_FIPS 标志.现在如果想检查共享对象是否在我将它们从开发环境中
..
我正在尝试通过 ctypes 用 Python 中定义的回调替换共享库中现有的函数指针. C 中共享库的来源: #include #include 无效(*情节)();int c_main(int argc, void** argv) {printf("plot is %p\n", (void*)plot);断言(情节!= NULL);阴谋();返回0;} Python 脚本的来源:
..
C 函数 myfunc 对更大的数据块进行操作.结果以块的形式返回给回调函数: int myfunc(const char *data, int (*callback)(char *result, void *userdata), void *userdata); 使用ctypes,从Python 代码调用myfunc 并将结果返回给Python 回调函数没什么大不了的.这个回调工作正常.
..
如何获取进程的起始地址/基地址?每个例子 Solitaire.exe (solitaire.exe+BAFA8) #-*- 编码:utf-8 -*-导入 ctypes、win32ui、win32processPROCESS_ALL_ACCESS = 0x1F0FFFHWND = win32ui.FindWindow(None,u"Solitär").GetSafeHwnd()PID = win3
..
我想从 python 调用 mkl.mkl_scsrmultcsr.目标是计算 压缩稀疏行 格式.稀疏矩阵C是A与A的转置的矩阵乘积,其中A也是csr格式的稀疏矩阵.当用 scipy 计算 C = A dot (AT) 时,scipy 似乎 (?)矩阵).所以,我想尝试直接使用 mkl c 函数来减少内存使用. 这里适用于另一个 mkl 函数的答案.在那个答案中,mkl 函数快了 4 倍.
..
由于这是我第一次学习系统编程,我很难理解规则.现在,我对内存泄漏感到困惑.让我们考虑一个例子.比如说,Rust 正在抛出一个指针(指向一个字符串),Python 会捕捉到这个指针. 在 Rust 中,(我只是发送 CString 的指针) 使用 std::ffi::CString;pub extern fn do_something() ->*const c_char {CString::
..
我想在我的 Python 程序的关键部分实现 C# 代码以使其更快.它说(在 Python 文档和 本网站),您可以按如下方式加载动态链接库(以及 PyDocs): cdll.LoadLibrary("your-dll-goes-here.dll") 这是我的代码中负责处理此功能的部分: from ctypes import *z = [0.0,0.0]c = [LEFT+x*(RI
..
有什么办法可以通过python外部函数库ctypes知道dll中导出了哪些函数? 如果可能的话,可以通过 ctypes 了解有关导出函数的详细信息. 如果是,有人可以提供一段代码吗? 解决方案 我认为 ctypes 不提供此功能.在带有 Visual Studio 的 Windows 上: DUMPBIN -EXPORTS XXX.DLL 或用于 windows 上的 mi
..
我有一个调用 DLL 的工作 python 2.7 程序.我正在尝试将脚本移植到 python 3.2.DLL 调用似乎有效(即调用时没有错误),但返回的数据没有意义. 以防万一它可能有用:- 调用需要三个参数:两个 int(输入)和一个指向 ushort 数组的指针(输出). 我尝试使用 python 和 numpy 数组但没有成功. 谁能列举 Python 2.7 和 3.2
..
这在带有 Python 2.7 的 Windows 7 上运行良好: lib = ctypes.cdll.LoadLibrary('prov_means')provmeans = lib.provmeans 库 prov_means.DLL 在我的工作目录中.它导出一个简单、独立的 C 函数 provmeans(),没有依赖项. 当我在 Windows XP 和 Python 2.7 上
..
关于 python/ctypes 和 dll 加载的问题. 我使用 VSExpress 2010 创建了一个 C Dll(extern C 声明).我可以使用 CPP 测试程序加载和执行这个 dll.但是,当我尝试通过 ctypes 在 python 中加载 dll 时,我收到旧的“WindowsError: [Errno 126] 找不到指定的模块"错误消息. 到目前为止,我已经完成
..
我正在使用 ctypes 在 Python 中加载 DLL.这很好用. 现在我们希望能够在运行时重新加载该 DLL. 直接的方法似乎是:1.卸载DLL2.加载DLL 不幸的是,我不确定卸载 DLL 的正确方法是什么. _ctypes.FreeLibrary 可用,但私有. 是否有其他方法可以卸载 DLL? 解决方案 你应该可以通过处置对象来做到这一点 myd
..
我正在尝试在 python 中加载一个 DLL 来调用函数. import ctypes从 ctypes 导入 *dsusb = ctypes.WinDLL('c:\python27\dsusb.dll') 我的堆栈中出现以下错误. C:\Python27>python test.py回溯(最近一次调用最后一次):文件“test.py",第 4 行,在 中dsusb = c
..
这可能是一个愚蠢的问题,但我在文档或任何地方都找不到好的答案. 如果我使用struct来定义一个二进制结构,该结构有2种对称的序列化和反序列化方法(打包和解包),但似乎ctypes没有一个直接的方法来做到这一点.这是我的解决方案,感觉不对: from ctypes import *类示例(结构):_字段_ = [(“索引",c_int),(“计数器",c_int),]定义包(ctype_i
..
我正在尝试访问 Firefox 网络浏览器附带的 dll (nss3.dll) 中的某些功能.为了处理这个任务,我在 Python 中使用了 ctypes.问题是它在初始点失败,即在将 dll 加载到内存中时. 这是我必须这样做的代码片段. >>>从 ctypes 导入 *>>>windll.LoadLibrary("E:\\nss3.dll") 我得到的例外是 回溯(最近一次调用
..
我想使用 IFileOperation 从 python 代码复制文件 - 速度快(比 python 快) 你会得到一个很好的对话 不会阻塞 Python 在 Windows 10 上,Python 3.8 - import ctypesctypes.windll.shell32.IFileOperation 似乎不存在. 如何使用 ctypes 访问 IFileOper
..
哦,我是个傻瓜.我只是在调用函数时省略了第二个和第三个参数.像个傻瓜.因为这就是我.原来的愚蠢问题如下: 这个好像应该是很常见的事情了,但是找不到相关教程,对Numpy和ctypes太无知了自己想办法. 我在文件 ctest.c 中有一个 C 函数. #include void cfun(const void * indatav, int rowcount, int colcount
..
我正在使用 Python(通过 ctypes)包装的 C 库来运行一系列计算.在运行的不同阶段,我想将数据导入Python,特别是numpy数组. 我使用的包装对数组数据执行两种不同类型的返回(我特别感兴趣): ctypes Array:当我执行 type(x)(其中 x 是 ctypes数组,我得到一个
..