>> s c_char-6ren">
gpt4 book ai didi

python - 如何获取 ctypes.c_char_p 实例的指针地址

转载 作者:太空狗 更新时间:2023-10-30 00:44:15 24 4
gpt4 key购买 nike

我想提取 ctypes.c_char_p 实例指向的整数地址。

例如,在

>>> import ctypes
>>> s = ctypes.c_char_p("hello")
>>> s
c_char_p(4333430692)

我想获取的值是 4333430692 — 字符串 hello\0 在内存中的地址:

(lldb) x 4333430692
0x1024ae7a4: 68 65 6c 6c 6f 00 5f 70 00 00 00 00 05 00 00 00 hello._p........

我已经阅读了 ctypes 文档,但似乎没有任何方法可以做到这一点。最接近的是 ctypes.addressof,当然,这只会给我指针的位置。

我想要这个的原因是因为我正在调用一些 C 函数,这些函数实际上需要编码为整数的原始地址(其大小等于 native 指针宽度)。

最佳答案

您可以将其转换为 c_void_p 并获取值:

>>> ctypes.cast(s, ctypes.c_void_p).value
4333430692

关于python - 如何获取 ctypes.c_char_p 实例的指针地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32234970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com