You may try the shared_memory_object class defined in boost\interprocess\shared_memory_object.hpp. The truncate function is to allocate desired size of memory. Also, the mapped_region class defined in boost\interprocess\mapped_region.hpp should be used to get the address of shared memory and map to client program. Refer to this page for more details: http://www.boost.org/doc/libs/1_53_0/doc/html/interprocess/sharedmemorybetweenprocesses.html.

Best regards!

On Mon, Jun 24, 2013 at 7:33 AM, Oodini <svdbg___@free.fr> wrote:
Hello,

I need to allocate and fill about 10 big memories areas (several Gb) at the startup of my program.
The data will never be modified or freed after during the program lifetime, and will be *only read* an other processes.

What allocation algorithm should I take from the ones provided by the library ?
Should I create a new one, more efficient (no reallocations, no race conditions...) ?

Thanks.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users