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