如何解决自动确定python中ctype数组的长度
我正在尝试找出与以下C代码等效的python
int16_t ids[] = { 0x1243,0x2450,0x3548 };
在C语言中,我们不必指定大小:它可以自动计算出来。在python中,需要指定大小。这使维护变得麻烦,因为添加新值时必须在2个地方修改代码。
ids = (int16_t * 3)(0x1243,0x3548)
我当前的解决方案是
from ctypes import *
uint16_t = c_uint16 # make translation easier
cid = [0x1243,0x3548]
ids = (uint16_t * len(cid)) (*cid)
一次性可以这样做,但是当您有很多负载时,看起来有点混乱。有没有一种方法可以指定 uint16_t * len(cid))而无需创建cid?像
ids = (a bit of magic) (0x1243,0x3548)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。