Внешние функции Cython из foo.h в модульный объект? - PullRequest
1 голос
/ 17 августа 2011

Я бы хотел сделать следующее:

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)

Есть ли лучший способ решить эту проблему?

1 Ответ

0 голосов
/ 26 сентября 2011

Я обнаружил, что это предпочтительный способ справиться с этим.

...