我正在尝试使用 Pyrex 在 Python 中包装一些 C 代码。我遇到了定义两个结构的问题。在这种情况下,结构是相互定义的,Pyrex 似乎无法处理冲突。结构看起来像这样:
typedef struct a {
b * b_pointer;
} a;
typedef struct b {
a a_obj;
} b;
它们被放置在不同的文件中。我用来包装结构的代码如下所示:
def extern from "file.c":
ctypdef struct a:
b * b_pointer
ctypedef struct b:
a a_obj
File.c
是一个包含函数定义的单独文件,与结构定义相反,但它包含定义这些结构的源文件。有什么方法可以包装这两种结构吗?