繁体   English   中英

在ctypes中子类化c_void_p是否可以接受?

[英]Is it acceptable to subclass c_void_p in ctypes?

我正在与一个返回不透明指针的库接口。 可以将c_void_p子类表示为ctypes并为这种c_void_p的特殊样式提供类型检查吗?

进行此类型检查的一种简单方法可能是创建一些任意的ctypes.Structure

class _Opaque(ctypes.Structure):
    pass

声明相关函数的返回类型为该结构的指针

lib.f.restype = ctypes.POINTER(_Opaque)

以及再次接受这种指针的函数的参数类型:

lib.g.argtypes = [ctypes.POINTER(_Opaque)]

现在, ctypes确保g的参数是f之前返回的指针。 (请注意,我使用前导_标记_Opaque于此模块。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM