2014-01-02 3 views
1

Я новичок в Cython, и у меня есть проблема с компиляцией встроенной функции. Упрощенный код:Как использовать встроенную функцию в Cython

cdef inline REG8(ulong addr): 
    (<volatile_uchar_ptr *>(addr))[0] 

Я пытаюсь использовать функцию встроенного внутри метода Python:

def test(self): 
    REG8(addr) = 0x08       # ==> Error: "Cannot assign or delete this". 
    (<volatile_uchar_ptr *>(addr))[0] = 0x08 # ==> OK. 

Когда я использую функцию встроенного REG8(), я получаю ошибку компиляции: Cannot assign or delete this. Однако вставленный код будет работать. Я понятия не имею, что здесь не так, и буду признателен за любую помощь.

ответ

2

Вы пропустили [0]:

REG8(addr)[0] = 0x08 

Вы были присваивание вызов функции, а не значение, она указывает.

Смежные вопросы