如何选择结构数组类型

Julyclyde网友说:

涉及一些二进制协议的通信是从长度和消息类型开始,然后根据自己的定义解析每种类型。

我以前用struct。今天看代码的时候发现有人用了array。另外ctypes也听说有人用。

所以想问问大家这三个库各自的特长,如何根据场景进行选择。

LookStupiToForce网友回复:

我在so上找到了一个非常贴切的。不知道op有没有看到https://stack overflow . com/questions/52004 279/python -similar -功能性-In-struct -and -array -VS-Ctypes。

llllliu网友回复道:

` ` ctypedef struct DSP _ buf _ t { uint 16 _ t head;uint16 _ t buf _ lenuint16 _ t cmduint16 _ t data _ lenuint 8 _ t data _ and _ CRC[];} DSP _ buf _ t;静态DSP _ buf _ t * get _ buffer(size _ t data _ size,void *data,uint 16 _ t cmd){ DSP _ buf _ t * buffer = LV _ mem _ alloc(sizeof(DSP _ buf _ t)+data _ size+sizeof(uint 8 _ t)* 2);buffer->head = 0x 55 aa;buffer->cmd = cmdbuffer->data_len =数据大小;buffer->buf _ len = buffer -& gt;data _ len+6;//cmd+data _ len+data+CRC LV _ memcpy(buffer -& gt;data_and_crc,data,buffer->data _ len);uint 16 _ t CRC = CRC 16 _ Count((uint 8 _ t *)& amp;buffer->cmd,buffer->data _ len+4);buffer->data_and_crc[buffer->data _ len]=(CRC & gt;& gt8)& amp;0xFFbuffer->data_and_crc[buffer->数据长度+1]= CRC & amp;0xFF返回缓冲区;}“`

未经允许不得转载:全球VPS主机论坛_便宜VPS主机/VPS云服务器/服务器/独立服务器/物理服务器优惠分享论坛社区 » 如何选择结构数组类型