如何从Python C扩展将原始数据复制到ctypes.Structure?
是否可以在Python C扩展中获取指向ctypes.Structure
实例的原始数据的指针值?我想通过导入和使用 ctypes.memmove
或 ctypes.addressof
来访问此类实例中的数据并将数据复制到此类实例,而无需打扰解释器。换句话说,ctypes
是否提供了我可以直接使用的 C API?
Is it possible to get the value of pointer to raw data of ctypes.Structure
instance in Python C extension? I would like to access and copy data from/to the instance of this class without bothering the interpreter by importing and using ctypes.memmove
or ctypes.addressof
. In other words, does ctypes
provide any C API which I can use directly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ctypes 似乎没有公开 C API。
这是在 >= 2.7 中完成的: http://docs.python.org/extending/extending.html#providing-ac-api-for-an-extension-module
ctypes 源标记为 2.7.1:http://svn.python.org/view/python/tags/r271/Modules/_ctypes/< /a>
我在源代码中没有看到构建 API 胶囊的任何地方。您必须通过 Python C API 使用 ctypes Python 接口。
It doesn't appear that ctypes exposes a C API.
This is how it's done in >= 2.7: http://docs.python.org/extending/extending.html#providing-a-c-api-for-an-extension-module
ctypes source tagged at 2.7.1: http://svn.python.org/view/python/tags/r271/Modules/_ctypes/
I don't see anywhere in the source where an API capsule is built. You'll have to use the ctypes Python interface via the Python C API instead.