我有以下代码
from ctypes import cast, c_char_p, c_int, byref, POINTER
# ...
mj, mn, pt = c_int(), c_int(), c_int()
// FreeType
__dll__.FT_Library_Version(__handler__, byref(mj), byref(mn), byref(pt))
print("{0}.{1}.{2}".format(cast(mj, POINTER(c_char_p).value, cast(mn, POINTER(c_char_p).value, cast(pt, POINTER(c_char_p)).value)
ArgumentError
从cast
函数中抛出一个ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type
问题是为什么?我的代码中的错误在哪里我是 ctypes 的新手,但我找到了像pŕintcast(c_int, POINTER(c_char_p))
这样的例子c_int
c_int(2)