Como escolher um endereço fixo para mapeamento de memória compartilhada
Gostaria de usar memória compartilhada entre vários processos e gostaria de continuar usando ponteiros brutos (e contêineres stl
Para esse propósito, estou usando a memória compartilhada mapeada em um endereço fixo:
segment = new boost::interprocess::managed_shared_memory(
boost::interprocess::open_or_create,
"MySegmentName",
1048576, // alloc size
(void *)0x400000000LL // fixed address
);
Qual é uma boa estratégia para escolher este endereço fixo? Por exemplo, devo usar apenas um número bastante alto para reduzir a chance de ficar sem espaço de heap?