me gustaría hacer the integer constants (ACTIVE_TAG, etc) defined here:¿Cómo se puede exponer un valor C#definido a Python en un módulo Cython?
//island management, m_activationState1
#define ACTIVE_TAG 1
#define ISLAND_SLEEPING 2
#define WANTS_DEACTIVATION 3
#define DISABLE_DEACTIVATION 4
#define DISABLE_SIMULATION 5
disponibles como atributos normales de un módulo Cython definido que estoy trabajando, por lo que el código de aplicación Python puede acceder a ellos (para pasarlos a las API que están envueltos definido en términos de ellos).
He examinado la definición de estos con cdef como enteros o enumeraciones, pero ninguno de estos enfoques realmente vincula el valor a un atributo en el módulo Cython. ¿Qué otras opciones hay?
Thanks. Esto funciona, e incluso hay un atajo más que se puede tomar (que es donde me quedé atrapado antes). Puedo usar las definiciones directamente desde bullet y cambiarles el nombre en el espacio de nombres de Cython haciendo cosas como 'cdef int _ACTIVE_TAG" ACTIVE_TAG "'. El nombre entre comillas es lo que Cython busca en el lado C de las cosas, el nombre a la izquierda de eso es cómo su valor está expuesto a Python. –
Eso está bien, ¡gracias por señalar ese atajo! –
@ Jean-PaulCalderone Supongo que quería decir 'cdef int ACTIVE_TAG" _ACTIVE_TAG "'. –