我正在爲我們正在維護的C庫編寫一個Cython包裝器。我收到以下錯誤消息: 從Cython傳遞C函數的原始指針
analog.pyx:6:66: Cannot convert 'unsigned short (*)' to Python object
這裏是我想要寫代碼:
cimport company as lib
def get_value(device, channel, index):
cdef unsigned short aValue
err = library_get_data_val(device, channel, index, &aValue) # line 6
# Ignore the err return value for StackOverflow.
return aValue
C函數我想使用的原型是:
unsigned long library_get_data_val(unsigned long device, int channel,
int index, unsigned short *pValue);
庫函數返回aValue
參數中的請求值。這只是一個unsigned short
原語。從這些類型的函數返回原語(即不是struct
)的預期方式是什麼?我對Cython是新手,所以答案可能很簡單,但我沒有看到任何明顯的谷歌。