-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dynamicSize & dynamicSizeOf 不能在一个类中同时存在吗? #18
Comments
dynamicSize = 5, 是指这个属性最大字节或成员为5 |
如果两个都标记,取值就不确定。造成混乱 |
正常情况下,数据定义会是:报文头, 长度, 可变数据体, 校验和 但是某些情况下,没有长度,而且数据体本身长度也是变长, 但是已知报文头和校验和长度固定,那么就可以标记为dynamicSize并且不影响解析。当然这是在数据体中没有其他变长的情况下。 但是如果数据定义是:报文头, 可变数据体1, 可变数据体2, 校验和 不知道我这样说明白没有。 但是一个数据体,中间有个几段都是动态的, 那么你就不能不能使用dynamicSize, 因为你推不回去了。 |
我明白你的意思。你担心的是 动态计算数据有多个 、动态计算数据不在最后。 |
`
` |
你对数据体预估的最大值,最好不要设置为MAX,序列化输出时会填充0 |
嗯,这种模式下dynamic理论可以推定的。 |
好的,感谢解答...有些协议定义的就是那么的不可思议.. |
这种的话,目前只能通过自定义解析器来实现 |
有两点疑问:
1)dynamicSize 是标记动态计算的(总数-其他标记了长度=剩下的,就是它的数据), dynamicSizeOf 是标记从哪个成员上取长度的。它俩应该不冲突的。 我注释了检测,运行后的结果符合我的预期,但是不确定是否存在其他问题。
2)dynamicSize 必须带有 size 属性,然而size会自动裁剪。但是这个动态计算的长度是不固定的,我也不能确定size预设多少,只能将size标记足够大吗?对内存使用有影响吗?
The text was updated successfully, but these errors were encountered: