nanopb 3.30910.0

nanopb 3.30910.0

测试已测试
语言语言 CC
许可证 Zlib
发布时间最后发布时间2024年7月

Jiayong OuGoogle 维护。



nanopb 3.30910.0

  • Petteri Aimonen

Nanopb - 嵌入式系统的 Protocol Buffers

Build Status

Nanopb 是一个小的 ANSI C 代码大小的 Protocol Buffers 实现。它特别适用于微控制器,但适用于任何内存受限的系统。

使用 nanopb 库

要使用 nanopb 库,您需要做两件事

  1. 使用 protoc 编译您的 .proto 文件以供 nanopb 使用。
  2. pb_encode.cpb_decode.cpb_common.c 包含到您的项目中。

开始的最简单方法是查看 "examples/simple" 中的项目。它包含一个 Makefile,该文件应该在大多数 Linux 系统中直接工作。然而,对于任何其他类型的构建系统,请参阅该文件夹中的 README.txt 中的手动步骤。

使用 Protocol Buffers 编译器 (protoc)

纳纳米生成器是以插件形式实现的,用于谷歌自家的 protoc 编译器。这有这样一个优点,即无需重新实现.proto文件的基本解析。然而,这也意味着你需要谷歌protobuf库才能运行生成器。

如果你已经下载了纳纳米的二进制包(无论是Windows、Linux还是Mac OS X版本),protoc二进制文件包含在'generator-bin'文件夹中。在这种情况下,你就可以使用它了。只需运行以下命令

generator-bin/protoc --nanopb_out=. myprotocol.proto

但是,如果你使用的是git检出或纯源分布,你需要提供自己的protoc版本和谷歌protobuf库。在Linux上,必要的包是protobuf-compilerpython-protobuf。在Windows上,你可以从源代码构建谷歌protobuf库或者使用它的二进制发行版。在两种情况下,如果你使用单独的protoc,你需要手动给出纳纳米生成器的路径

protoc --plugin=protoc-gen-nanopb=nanopb/generator/protoc-gen-nanopb ...

运行测试

如果你想要进一步开发纳纳米核心,或者使用你的编译器和平台验证其功能,你需要运行测试套件。测试套件的构建规则使用Scons实现,所以你需要安装它(例如,在Ubuntu上sudo apt install scons)。要运行测试

cd tests
scons

这将显示各种测试用例的进度。如果输出不以错误结束,则测试用例成功。

注意:Mac OS X默认将'clang'别名为'gcc',但实际上并不支持gcc相同的命令行选项。要在Mac OS X上运行测试,使用:“scons CC=clang CXX=clang”。同样可以在任何平台上使用不同编译器运行测试。