为什么Python的ctype.CDLL不能从C头文件自动生成RESTYPE和argtype?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (39)

例如,能够这样做是很好的:

from ctypes import CDLL
mylib = CDLL('/my/path/mylib.so',header='/some/path/mylib.h')

而不是

from ctypes import *
mylib = CDLL('/my/path/mylib.so')
mylib.f.restype = c_double
mylib.f.argtypes = [c_double, c_double]
mylib.g.restype = c_int
mylib.g.argtypes = [c_double, c_int]

我使用python的经验表明,要么是已经完成了非常接近这个功能的事情,而我只是没有找到它,要么就是有一个很好的理由不这样做。这两种情况中有一种是这样的吗?

提问于
用户回答回答于

我们使用cypesgen为Subversion绑定生成Python绑定的一个版本。效果很好。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励