python外部函数从foo.h到模块类对象



我想做以下事情:

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)

有没有更好的方法来解决这个问题?

我发现这是处理这个问题的首选方法。

相关内容

  • 没有找到相关文章

最新更新