включая перечисления из заголовочного файла c ++ в cython - PullRequest
4 голосов
/ 22 августа 2011

В чем разница между этими двумя частями кода Cython?

cdef extern from "some_header.h":

    enum _some_enum:
        ...
    ctypedef _some_enum some_enum

и:

cdef extern enum _some_enum:
    ...
ctypedef _some_enum some_enum

Поскольку необходимо переопределить enum в файле .pyd, имеет ли значение, если вы говорите что-нибудь о заголовочном файле?Могу ли я включить его из файла заголовка вместо его повторного ввода?

1 Ответ

2 голосов
/ 23 августа 2011

Не должно быть проблемой позволить Cython генерировать объявления enum.Однако, как правило, вы хотите использовать заголовок, чтобы обеспечить согласованность объявлений.Cython будет #include заголовком вместо того, чтобы включать его собственные объявления.Тем не менее, он фактически не использует объявления в заголовке для генерации кода.Вы все еще должны написать совместимые объявления.Вы можете найти больше информации в руководстве пользователя: Взаимодействие с внешним кодом C: Ссылки на файлы заголовков C .

...