繁体   English   中英

nanopb - 如何在 proto 文件中指定整数的编码

[英]nanopb - how to specify encoding of integer in proto file

如何设置int32以使用固定大小进行编码?

API中,它说

PB_LTYPE_FIXED32    0x04    32-bit integer or floating point.

但是我在.proto文件中设置什么选项来将int32编码为PB_LTYPE_FIXED32而不是PB_LTYPE_VARINT

在函数encode_basic_field中,自动生成的fields结构存储字段类型,这意味着该信息以某种方式设置在.proto文件中。

我认为您应该尝试“int32_t”而不是 int32。

请检查“nanopb”项目,在文件“nanopb_generator.py”中,有一个名为“datatypes”的字典,这里有一些代码:

    FieldD.TYPE_FIXED32:    ('uint32_t', 'FIXED32',     4,  4),
    FieldD.TYPE_SFIXED32:   ('int32_t',  'SFIXED32',    4,  4),

因为这是我第一次看到“nanopb”项目,我不能 100% 确定它是否会工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM