从 PyCObject 获取地址?
Get address from PyCObject?
我发现很奇怪我无法通过搜索来回答这个问题,只有相反的问题关于如何从指针创建 PyCObject
(在 C 中,而不是 Python).我可能只是使用了错误的搜索词。
我在Python中有一个PyCObject
,我想获取包装后的内存地址。好吧,实际上我想将它转换为 ctypes
指针,但我可以从内存地址进行转换。我怎么才能得到它? help(some_pyc_object)
信息量不大,dir(some_pyc_object)
也不是。
我想做以下事情:
addr = some_pyc_object.get_memory_address() # pseudo method
data = ctypes.c_long_p(addr)
# ...
import ctypes
PyCObject_AsVoidPtr = ctypes.PYFUNCTYPE(ctypes.c_void_p, ctypes.py_object)(
('PyCObject_AsVoidPtr', ctypes.pythonapi))
addr = PyCObject_AsVoidPtr(some_pyc_object)
我发现很奇怪我无法通过搜索来回答这个问题,只有相反的问题关于如何从指针创建 PyCObject
(在 C 中,而不是 Python).我可能只是使用了错误的搜索词。
我在Python中有一个PyCObject
,我想获取包装后的内存地址。好吧,实际上我想将它转换为 ctypes
指针,但我可以从内存地址进行转换。我怎么才能得到它? help(some_pyc_object)
信息量不大,dir(some_pyc_object)
也不是。
我想做以下事情:
addr = some_pyc_object.get_memory_address() # pseudo method
data = ctypes.c_long_p(addr)
# ...
import ctypes
PyCObject_AsVoidPtr = ctypes.PYFUNCTYPE(ctypes.c_void_p, ctypes.py_object)(
('PyCObject_AsVoidPtr', ctypes.pythonapi))
addr = PyCObject_AsVoidPtr(some_pyc_object)