I'm actually working on an ANSI C implementation currently. I know protobuf-c
exists but there are a number of things that led me to start working on a
separate implementation. I would be interested in hearing what kind of things
I haven't had much experience with embedded systems. When you say you don't
have a malloc, presumably you get memory from a fixed address range in flash?
So you would want some way to define a custom allocator/deallocator to handle
allocations in the generated code. I believe the current protobuf-c has a way
to define custom allocators. Would the ability to override the default
malloc/free be adequate or is something else required?
I guess you also need to define your own realloc/memcpy etc.?
And what about things like stdint.h/stdlib.h/limits.h for types like uint8_t
and size_t and things like INT_MAX. Are these available?
On 26 May 2010, at 17:07, john mani wrote:
> We are looking at using protobuf-c for microcontroller (TI MSP430)
> based systems. The memory, flash and CPU constraints are quite
> stringent, and the code itself has to be 'pure C' to cross compilable
> to this platform - i.e., no external library dependencies, no malloc,
> Has anyone done anything like this? Experiences welcome.
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To post to this group, send email to proto...@googlegroups.com.
> To unsubscribe from this group, send email to
> For more options, visit this group at
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To post to this group, send email to proto...@googlegroups.com.
To unsubscribe from this group, send email to
For more options, visit this group at