7得票1回答
通过 ctypes 返回给 Python 的对象的内存释放问题

我正在使用ctypes将MyDll中的c函数扩展到python。 from ctypes import cdll libX = cdll.LoadLibrary("d:\\MyTestProject\\debug\\MyDll.dll") 在.py文件中,我有一个类,其方法通过ctype...

27得票2回答
ctypes与C扩展的区别

我有几个用于游戏项目的C函数。这些函数被频繁调用(约每秒2000-4000次)。这些函数采用C语言编写以获得更快的速度。 现在,将这些函数包含到Python中最简单的方法是使用ctypes。另一种选择是围绕这些函数编写一个C扩展到Python中(需要额外的努力)。因此,我想知道,在不包括DL...

8得票2回答
在Python中通过变量的ID更新变量

我知道如何在Python中通过id获取变量的值,例如: a = "hello world!" ctypes.cast(id(a), ctypes.py_object).value 我想知道是否可以通过id覆盖变量的值? 最简单的方法是这样的: ctypes.cast(id(a), c...

10得票7回答
使用Python在Windows中获取电池容量

我想找出当前电池容量和设计容量。目前我能够使用的是Win32_Battery()类,但它没有提供我需要的所有信息(至少在我的系统上不行)。我使用了纯Python wmi库 来实现这一点。另一方面,我发现了这个In Python, how can I detect whether the com...

7得票3回答
Python mmap ctypes - 只读

我认为我遇到了与这里描述的相反问题。 我有一个进程将数据写入日志,我希望第二个进程读取它,但我不希望第二个进程能够修改内容。 这可能是一个大文件,我需要随机访问,因此我正在使用Python的mmap模块。 如果我将mmap创建为读/写(对于第二个进程),那么我没有问题,可以使用from_bu...

15得票3回答
Python使用ctypes传递char *数组并填充结果

我试图使用ctypes在Python中创建一个char *数组,以便传递给库,用于填充字符串。我期望收到4个字符串,每个字符串长度不超过7个字符。 我的Python代码如下: testlib.pyfrom ctypes import * primesmile = CDLL("/primes...

8得票1回答
为什么设置ctypes dll.function.restype=c_void_p会返回long?

即使设置了restype,Python返回的类型仍然是long而不是c_void_p,这似乎很奇怪。 例如: # python code from ctypes import * dll = windll.LoadLibrary("my.dll") dll.my_object_create...

9得票2回答
在Windows系统中,Python通过ctypes.cdll.<name>打开dll文件时会在哪里寻找?

很抱歉,我在互联网上找不到简单的答案,所以也许将来会因为这个问题有一个答案!我正在使用pywiiuse,在Windows上使用C wiiuse库的Python包装器。通过在源目录中包含dll、头文件和库,我已经成功地运行了几个纯C示例。但是,我想知道在哪里放置dll,以便pywiiuse可以找...

11得票3回答
Python: 使用ctypes访问DLL函数 -- 使用函数名称访问失败

myPythonClient(下文)想要调用ringBell函数(使用ctypes从DLL中加载)。然而,尝试通过其名称访问ringBell会导致AttributeError错误。为什么? RingBell.h包含:namespace MyNamespace { class ...

8得票4回答
我需要加速一个函数。我应该使用Cython、ctypes还是其他什么东西?

我很享受通过编写遗传编程类型应用程序来学习Python的乐趣。 我从本站的Torsten Marek,Paul Hankin和Alex Martelli那里获得了一些很好的建议。 该程序有4个主要功能: - 随机生成表达式树。 - 评估树的适应度。 - 杂交。 - 突变。 由于所有生成...