python如何调用自定义类中的函数_Python ctypes:使用自定义类型调用函数

我正在尝试包装pre-existing c code,以便在Linux的Python中使用。我对c没有什么经验,目前我正在使用ctypes来解决这个问题。我的C函数需要一个带有自定义类型项的2d数组,但我不知道如何在python中重新创建它以将其传递给C函数。在

下面是我要调用的函数:void usbBuildGainTableAI_USB1808(libusb_device_handle *udev, Calibration_AIN table[NCHAN_1808][NGAINS_1808])

{

int i, j;

uint16_t address = 0x7000; // base address of ADC calibration coefficients.

for (i = 0; i < NCHAN_1808; i++) {

for (j = 0; j < NGAINS_1808; j++) {

usbMemAddressW_USB1808(udev, address);

usbMemoryR_USB1808(udev, (uint8_t *) &table[i][j].slope, sizeof(float));

address += 4;

usbMemAddressW_USB1808(udev, address);

usbMemoryR_USB1808(udev, (uint8_t *) &table[i][j].offset, sizeof(float));

address += 4;

}

}

return;

}

头文件已定义

^{pr2}$

其中,NCHAN_18081和NGAINS_1808是常数,udev是整数。我遵循了一个关于多维数组的older question,并试图创建一个类似于c代码中的结构。在

^{3}$

但这有两个问题:自定义类型校准不能像int或float那样用操作符*填充在数组中,而且我不能将自定义类型传递给c。我也尝试过用Python语言创建一个列表数组,但是我不能将它转换成任何可以通过ctypes传递的有用的内容。在

如何在不修改c代码的情况下从python调用这个函数?任何帮助将不胜感激,也请让我知道我是否应该只是学习c和尝试用c或Cython编写我的程序。Ctypes可能不是最好的方法。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值