问题标签 [cffi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
486 浏览

python - 循环中带有 QImage 的 PyQt 中的内存泄漏

我现在正在开发一个使用 PyQt5 和 CFFI 绑定到 libgphoto2 的 Python 应用程序。

我有这部分代码,它将每 1/60 秒轮询一次相机以获取预览图像,然后安排在屏幕上绘制它。

getPreview()方法返回一个QImage类型。

当我使用连接到我的应用程序的相机运行此程序时,我注意到我的系统的内存使用量不断增加。是的,我已经运行了大约 10 分钟。它开始时的使用率为 0.5%,现在已接近 20%。

如果我错了,请纠正我,但 Python 的 GC 不应该启动并摆脱旧QImage对象。我怀疑他们逗留的时间超过了应有的时间。

0 投票
1 回答
503 浏览

python - Linux上的cffi包安装错误

试图在我的 linux 机器上的 python 3.4.3 上安装 cffi-1.7.0 源代码。得到以下错误。

$ python setup.py 安装

cc1:错误:无法识别的命令行选项“-Wno-unused-result” cc1:错误:无法识别的命令行选项“-Wno-unused-result”

有人可以帮我解决这个问题吗?

0 投票
0 回答
206 浏览

python - 为什么 TypeError:使用 cffi 时需要整数?

我正在使用 cffi,但遇到了一个奇怪的错误。我的函数接受一个字节数组并对其进行解密并从中创建一个人类可读的字符串。

期望看到的是一个英文字符串。蟒蛇说:

以下是这些事物的定义方式:

显示:

从打印中,我们可以看到该函数涉及两个整数。一个 8 位整数和一个 16 位整数。我对这些参数做错了吗?

完整追溯:

0 投票
0 回答
310 浏览

python - 使用 CFFI 导入时在库中找不到变量

我正在尝试加载以下 .h 文件:

使用以下 python 文件:

当我尝试获取 foo 时,出现以下错误:

值得注意的是,我为另一个定义枚举的头文件设置了完全相同的设置,并且可以使用我在此处尝试使用的相同符号来处理枚举的各个元素。

0 投票
0 回答
121 浏览

c++ - SBCL 返回句柄-win32-异常

我想使用 cffi 从 SBCL 调用 c++ 函数。我尝试调用以下非常简单的函数。

我通过 gcc 制作了 .so 文件。

该文件的创建如下: C:/Users/***/f_libraries/libtest.so: PE32+ executable (DLL) (console) x86-64, for MS Windows

我可以从 sbcl 读取这个文件,但是当我调用“print1”函数时,我收到以下错误消息。

当我第一次打电话时,我得到了

第二次之后,

我的电脑是 Windows 7(64 位)。有没有人有这个问题的线索?

0 投票
0 回答
272 浏览

pip - 使用 Pip 覆盖 Conda 包安装

我正在尝试构建必要的依赖项来运行一些深度学习代码,并且遇到了 c 外部函数接口 (cffi) 安装的问题。我需要 conda 的加速包,但是该包是建立在旧版本的 cffi (1.10) 之上的。我需要它建立在我可以通过 pip 获得的 cffi 版本 1.11.2 之上。通过 conda 安装时,有什么方法可以排除某些子依赖项吗?我假设这会弄乱我的加速安装,即使我能够以某种方式替换 cffi 依赖项,但我想我会看看我的选择是什么

0 投票
0 回答
168 浏览

memory-leaks - cffi:with-foreign-object 会释放数组元素吗?

这是我正在尝试做的事情:

我知道它array本身会在离开with-...块时被释放,但是数组的元素呢?(setf (cffi:mem-aref array :string i) s)表达式将为每个元素分配一个以 null 结尾的 char* 数组,对吗?我应该自己释放它们还是 CFFI 会为我这样做?我在文档和 CFFI 代码中都找不到明确的答案。

0 投票
1 回答
328 浏览

python - 安装 Google Assistant SDK 示例时接收到 CFFI 丢失

我正在尝试使用指南将语音识别添加到我的 Raspberry Pi 3B。

我已经完成了部分,直到通过 ssh 执行以下命令并收到某种 CFFI 缺失错误。我重复了上面的网页,用 python3 替换了 python 并返回了相同的错误。

注意:里面的内容底部是红色错误。


0 投票
1 回答
239 浏览

common-lisp - Common Lisp CFFI 和 C 退出代码

在 CFFI 的帮助下,我已经成功地将 C 库与 Common Lisp 结合起来。但是,C 库使用退出代码来捕获错误,这会导致 lisp 程序突然终止。似乎有一个名为 trivial-signal 的库可以处理 UNIX 系统中的信号。它也适用于Windows吗?或者也许有另一种方法来处理程序的终止?

我的想法是用 lisp 函数的回调替换退出代码,这将引发异常。这种方法会奏效吗?

先感谢您

0 投票
1 回答
59 浏览

python - 比较 Python 中的 C 指针

我正在寻找一种更简单的方法来比较 python 中两个 C 指针的数据。我现在工作的方法:

有什么办法可以让我更接近:

我已经阅读了 cffi 文档,但没有发现任何有希望的东西。