динамические структуры в статической памяти? - PullRequest
2 голосов
/ 12 мая 2009

ДАЛИ, что у вас уже есть фиксированная область памяти, которую вы хотели бы использовать, какие библиотеки C или C ++ позволят вам хранить динамическую структуру (например, хеш) в этой памяти?

т.е. хеш-библиотека не должна содержать никаких вызовов malloc или new, но должна принимать параметр, который сообщает ей расположение и размер памяти, которую ей разрешено использовать.

(бонус, если библиотека использует внутренние смещения, а не указатели, если разделяемая память отображается в разные адресные пространства в каждом процессе, который ее использует)

Ответы [ 2 ]

7 голосов
/ 12 мая 2009

Вы можете написать свои собственные распределители для контейнеров STL.

Dr.Dobb's: для чего нужны распределители?

SO: Приводящие примеры пользовательских распределителей C ++ STL?

2 голосов
/ 12 мая 2009

Простая адаптация простой хэш-таблицы с линейным зондированием для использования блока памяти - просто установите ее таблицы, чтобы они указывали на выделенную память при ее создании, и не применяйте ничего, чтобы выделять больше памяти, чтобы стол растет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...