gpt4 book ai didi

python - 为什么 Python 的 ctypes.CDLL 不能从 C 头文件自动生成 restype 和 argtypes 有什么原因吗?

转载 作者:IT老高 更新时间:2023-10-28 21:13:51 27 4
gpt4 key购买 nike

例如,如果能够做到这一点,那就太好了:

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 方面的经验表明,要么已经完成了与此非常接近的事情,而我只是无法找到它,要么有充分的理由不这样做。这两种情况都有吗?

最佳答案

我问自己同样的问题,在我走得太远之前,我遇到了 ctypesgen:

http://code.google.com/p/ctypesgen/

它会为您处理所有这些,尽管您需要预先学习。我们使用 ctypesgen 为 Subversion 绑定(bind)生成一个版本的 Python 绑定(bind)。效果很好。

关于python - 为什么 Python 的 ctypes.CDLL 不能从 C 头文件自动生成 restype 和 argtypes 有什么原因吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033162/

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