Arrays Cythony c库二维阵列

Arrays Cythony c库二维阵列,arrays,numpy,cython,Arrays,Numpy,Cython,因此,我正在尝试使用cython连接c库以控制mcc数据采集设备,但是我遇到了以下问题:如何连接以2D数组为参数的c库函数: void usbBuildCalTable_USB1608FS(libusb_device_handle *udev, Calibration_AIN table[NGAINS_USB1608FS][NCHAN_USB1608FS]); 该函数的定义如上所述。我试图通过以下方式连接pxd文件中的函数: void usbBuildCalTable_USB1

因此,我正在尝试使用cython连接c库以控制mcc数据采集设备,但是我遇到了以下问题:如何连接以2D数组为参数的c库函数:

void usbBuildCalTable_USB1608FS(libusb_device_handle *udev, 
       Calibration_AIN table[NGAINS_USB1608FS][NCHAN_USB1608FS]);
该函数的定义如上所述。我试图通过以下方式连接pxd文件中的函数:

void usbBuildCalTable_USB1608FS(libusb_device_handle *udev, 
       Calibration_AIN *table)
正如所料,我犯了一个错误,说:

expected ‘struct Calibration_AIN (*)[8]’ but argument is of type ‘struct Calibration_AIN *’
现在,如果我在pxd中声明函数,如下所示:

void usbBuildCalTable_USB1608FS(libusb_device_handle *udev, 
       Calibration_AIN *table[NCHAN_USB1608FS])
编译抱怨NCHAN_USB1608FS不是静态的,即使它是c函数头文件中的定义值,并且在pxd中声明为

int  NCHAN_USB1608FS

你知道如何正确声明函数吗?

你的定义应该是
const int NCHAN\u USB1608FS=8
添加
const
以将其转换为编译时初始化。pxd文件中的声明必须是
enum:NCHAN_USB1608FS
,这样编译器会将该值视为常量。您定义的Thx可能应该是
const int NCHAN_USB1608FS=8
添加
const
以将其转换为编译时初始化。pxd文件中的声明必须是
enum:NCHAN_USB1608FS
,这样编译器会将该值视为常量。Thx to