2012-02-15 9 views
7

Owijam bibliotekę, która masowo wykorzystuje wyliczenia i dlatego zawiera wiele stałych identyfikatorów. Czy istnieje sposób, aby je udostępnić dla Cythona (zadeklarować je jako extern) i jednocześnie udostępnić je Pythonowi?Czy externed wyłudzić "publiczne" dla Python?

wyszukać coś takiego

cdef extern from *: 
    public enum: 
     spam 
     foo 
     ham 

które powinny zastąpić

cdef extern from *: 
    enum: 
     cspam "spam" 
     cfoo "foo" 
     cham "ham" 

spam = cspam 
foo = cfoo 
ham = cham 

Uwaga: Wiem o możliwość poruszania extern-deklaracje do .pxd pliku, aby uniknąć naming- kolizja.

Dzięki Niklas

Odpowiedz

1

Użyłem ctypesgen.py z pewnym sukcesem dla eksportu rodzaje i wyliczeń. Prawdopodobnie byłoby to odpowiednie zarówno dla Pythona, jak i cythonu.

Powiązane problemy