1 repositorio
Configurable parameters such as field types and maximum sizes that influence the output of a source generator.
Distinct from Source Code Generators: Focuses on the configuration of the generation process rather than the implementation of the generator itself.
Explore 1 awesome GitHub repository matching programming languages & runtimes · Generation Options. Refine with filters or upvote what's useful.
Nanopb es una implementación ligera en C de Protocol Buffers diseñada para sistemas con recursos limitados y microcontroladores. Funciona tanto como biblioteca de serialización embebida para codificar y decodificar datos estructurados, como generador de código que transforma archivos de definición en archivos fuente y de cabecera compactos en C. El proyecto se distingue por su enfoque en la asignación de memoria estática, utilizando tamaños máximos fijos para cadenas y arrays para evitar la asignación dinámica de memoria y la fragmentación del heap. Emplea un mecanismo de streaming basado en callbacks para procesar mensajes o campos que exceden la RAM física disponible, permitiendo el manejo de datos de longitud variable sin agotar la memoria del sistema. La biblioteca proporciona amplias capacidades para la serialización binaria, incluyendo cálculo de tamaño codificado, seguimiento de presencia de submensajes y framing a nivel de transporte. También incluye utilidades de reflexión para la iteración de campos, validación de cadenas UTF-8 y aplicación estricta de límites para garantizar la seguridad de la memoria al parsear entradas binarias no confiables.
Allows specification of field types, packing options, and maximum sizes to control how definitions are converted into code.