在内存限制的嵌入式系统中使用 boost

2022-01-25 00:00:00 embedded c++ boost windows-ce

We are using c++ to develop an application that runs in Windows CE 4 on an embedded system.

One of our constraint is that all the memory used by the application shall be allocated during startup only. We wrote a lot of containers and algorithms that are using only preallocated memory instead of allocating new one.

Do you think it is possible for us to use the boost libraries instead of our own containers in these conditions?

Any comments and/or advice are welcomed!

Thanks a lot,

Nic

解决方案

You could write your own allocator for the container, which allocates from a fixed size static buffer. Depending on the usage patterns of the container the allocator could be as simple as incrementing a pointer (e.g. when you only insert stuff into the container once at app startup, and don't continuously add/remove elements.)

相关文章