19
我想打the integer constants (ACTIVE_TAG, etc) defined here:如何在Cython模块中将#defined C值暴露给Python?
//island management, m_activationState1
#define ACTIVE_TAG 1
#define ISLAND_SLEEPING 2
#define WANTS_DEACTIVATION 3
#define DISABLE_DEACTIVATION 4
#define DISABLE_SIMULATION 5
可作为用Cython定义模块我工作的正常属性,这样Python应用程序代码可以访问它们(他们在传递到包裹的API是哪些根据它们定义)。
我已经看过用cdef作为整数或枚举来定义这些方法,但这两种方法都没有将值绑定到Cython模块中的属性。还有什么其他选择?
谢谢。这是有效的,甚至还有一个可以采取的捷径(这是我之前陷入困境的地方)。我可以直接从bullet使用该定义,并通过执行诸如'cdef int _ACTIVE_TAG“ACTIVE_TAG”'的方式在Cython命名空间中对其进行重命名。引号中的名称是Cython在事物的C端查找的名称,左边的名称是它的值暴露给Python的名称。 – 2011-04-18 18:13:55
这很整齐,谢谢你指出快捷方式! – 2011-04-18 18:52:29
@ Jean-PaulCalderone我想你的意思是'cdef int ACTIVE_TAG“_ACTIVE_TAG”'。 – 2011-11-03 09:21:52