问题标签 [ctypes]

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 回答
480 浏览

python - 使用 ctypes 从 Python 调用 gdc/dmd 共享库

我最近一直在玩 Python 中相当优秀的 ctypes 库。我想知道的是,是否可以创建共享D库并以相同的方式调用它们。我假设我会使用with编译.so文件或使用库以相同的方式调用它们。-fPICdmdgdcctypes

有没有人试过这个?看起来好像UNIX部分支持共享库。

非常感谢,

铝。

0 投票
4 回答
12779 浏览

python - Python 双指针

我正在尝试从指向浮点数组的指针中获取值,但它在 python 中返回为 c_void_p

C 代码

到目前为止的 Python

问题是 null_ptr 有一个 int 值(内存地址?)但是没有办法读取数组?!

0 投票
2 回答
2435 浏览

python - 使用 ctypes.c_void_p 作为 glTexImage2D 的输入?

我正在使用第 3 方 DLL 加载一些原始图像数据,并且我想将此原始图像数据用作 openGL 中的纹理。但是,c 函数返回一个 void*,我需要以某种方式将其转换为 glTexImage2D 的“像素”参数。现在我的代码看起来像这样:

但是,我收到一个 TypeError 抱怨数据“无法转换为指针”。有谁知道如何让它工作?

编辑:想通了。基本上我做的是这样的:

0 投票
2 回答
1045 浏览

python - 子类化 ctypes - Python

这是我在网上找到的一些代码。我不确定它是如何使用的。我只是用枚举键/值填充成员并且它有效,但我很好奇这个元类的全部内容。我假设它与 ctypes 有关,但我找不到太多关于子类化 ctypes 的信息。我知道 EnumerationType 并没有像我使用 Enumeration 那样做任何事情。

0 投票
5 回答
41090 浏览

python - 在运行时为 ctypes 更改 LD_LIBRARY_PATH

您如何在运行时更新此环境变量,以便 ctypes 可以在任何地方加载库?我尝试了以下方法,但似乎都不起作用。

0 投票
2 回答
264 浏览

python - 一些Python代码的帮助

谁能告诉我为什么 num_chars 和 num_rows 必须相同?

输出

现在将 num_chars 更改为 15。

0 投票
2 回答
11947 浏览

python - Python ctypes 和函数指针

这与我的另一个问题有关,但我觉得我应该在一个新问题中提出它。

基本上,FLAC 使用函数指针进行回调,并使用 ctypes 实现回调,您使用CFUNCTYPE它们来原型化它们,然后使用prototype()函数来创建它们。

我遇到的问题是我想我会这样创建我的回调函数(我没有显示我重新创建的结构,FLAC__Frame 是一个结构):

我遇到的问题是实施。FLAC__Frame 永远不会被程序员实例化,它只是从初始化函数和处理函数中调用。我必须自己编写回调函数,但他的问题是我不知道我该怎么做,所以如果有人知道我应该怎么做,那么一些帮助将不胜感激。

0 投票
3 回答
2526 浏览

python - 寻找ctypes unicode处理的“Hello World”(包括Python和C代码)

有人可以向我展示一个非常简单的 Python ctypes 示例,其中涉及包括 C 代码在内的 Unicode 字符串?

比如说,一种获取 Python Unicode 字符串并将其传递给 C 函数的方法,该函数将其与自身连接并将其返回给 Python,Python 将其打印出来。

0 投票
1 回答
3554 浏览

python - 调整 ctypes 数组的大小

我想调整一个 ctypes 数组的大小。如您所见, ctypes.resize 无法正常工作。我可以编写一个函数来调整数组的大小,但我想知道一些其他的解决方案。也许我错过了一些 ctypes 技巧,或者我只是使用了错误的调整大小。名称 c_long_Array_0 似乎告诉我这可能不适用于调整大小。

编辑:也许可以使用类似的东西:

但这很难传递类型而不是大小。它为它的目的而工作,就是这样。

0 投票
1 回答
2345 浏览

python - python中的ctypes,在DLL中调用函数的问题

嘿!您可能已经注意到我对 ctypes 有一个烦人的问题。我正在尝试与仪器通信,为此我必须使用 ctypes 与 DLL 驱动程序通信。

到目前为止,我已经设法通过这样做导出 DLL:

它工作得很好,根据文档,它应该将 Tuner Driver DLL 保存在作为参数给出的 80 字节字符串中。但是,当我尝试使用名为add_tuner的函数时,它失败了。这就是文档所说的:

这就是我尝试调用上面函数的方式:更改的参数都是指针和max_range [],根据手册,下面的值也是正确的,我只是不知道为什么我不断收到Windows访问冲突写入 0x00000000

序列号是给定的,但是通过引用变量进行审查。有人知道该怎么做吗?,你看到我的输入有什么错误吗?

谢谢/马自达