我想做以下事情:
cdef extern from "foo.h" namespace "foo":
int bar(int, int)
def bar(a, b):
return foo.bar(a, b)
但这不起作用。namespace "foo"
部分是什么?我怎样才能实现从"foo.h"外部加载函数到一个名为foo的对象?
:
我可以使用以下文件结构和代码找到解决方案:
spam.pyx
spam_c.pxd
c
spam.c
# spam.pyx
cimport spam_c as spam
def foo(a, b):
return spam.foo(a, b)
# spam_c.pxd
cdef extern from "spam.c":
double foo(double, double)
有没有更好的方法来解决这个问题?
我发现这是处理这个问题的首选方法。