我正在尝试使用 ctypes 库在 Python 中包装 C 库。
我这样包装结构
file.c
typedef struct {
int x;
int y;
} Point;
file.py
import ctypes
class Point(ctypes.Structure):
_fields_ = [("x": ctypes.c_int), ("y", ctypes.c_int)]
但我有这样的声明,无法找出如何包装它并获取类型MyFucntion
.
typedef char* (*MyFunction)(char*);
Check [Python 3.Docs]:ctypes - Python 的外部函数库.
那是一个函数指针。你可以这样包装它:
FuncPtr = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char))
但这很大程度上取决于您将如何使用它。
作为旁注,typedef没有任何关系ctypes: 例如Point定义将是相同的,没有typedef (struct Point { ... };
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)