我是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
。但是,插入的代码将起作用。我不知道这里有什么问题,我将不胜感激。
答案 0 :(得分:2)
您错过了[0]
:
REG8(addr)[0] = 0x08
您正在分配函数调用,而不是它指向的值。