| Shared memory & std::map | |
| От: | Аноним 647 | ||
| Дата: | 27.05.08 08:29 |
| Я хочу обмениваться между процессами сложными структурами данных наподобие std::map. Как разместить их в разделяемой памяти? |
| Re: Shared memory & std::map | |
| От: | kurt84 | ||
| Дата: | 27.05.08 08:42 | ||
| Оценка: | +1 | ||
| Здравствуйте, Аноним, Вы писали: А>Я хочу обмениваться между процессами сложными структурами данных наподобие std::map. Как разместить их в разделяемой памяти? Например boost умеет делать подобное: здесь |
| Re: Shared memory & std::map | |
| От: | Erop | ||
| Дата: | 27.05.08 09:11 |
| Здравствуйте, Аноним, Вы писали: А>Я хочу обмениваться между процессами сложными структурами данных наподобие std::map. Как разместить их в разделяемой памяти? Написать свой аллокатор?.. Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском |
| Re[2]: Shared memory & std::map | |
| От: | Аноним 647 | ||
| Дата: | 27.05.08 09:43 |
| Здравствуйте, Erop, Вы писали: E>Здравствуйте, Аноним, Вы писали: А>>Я хочу обмениваться между процессами сложными структурами данных наподобие std::map. Как разместить их в разделяемой памяти? E>Написать свой аллокатор?.. http://www.rsdn.ru/forum/NewMsg.aspx?mid=2965885# Автор: Erop Дата: 27.05.08 Это сложно. Никогда их не писал, даже не представляю как за это взяться. |
| Re[2]: Shared memory & std::map | |
| От: | Alexander G | ||
| Дата: | 27.05.08 09:58 | ||
| Оценка: | +1 | ||
| Здравствуйте, Erop, Вы писали: E>Здравствуйте, Аноним, Вы писали: А>>Я хочу обмениваться между процессами сложными структурами данных наподобие std::map. Как разместить их в разделяемой памяти? E>Написать свой аллокатор?.. Думаю, стоило бы уточнить что свой аллокатор работает для всех данных, помещеённых в контейнер, но не для самого контейнера, для самого контейнера решения не предусмотрено. |
| Re[3]: Shared memory & std::map | |
| От: | Erop | ||
| Дата: | 27.05.08 11:43 |
| Здравствуйте, Alexander G, Вы писали: AG>Думаю, стоило бы уточнить что свой аллокатор работает для всех данных, помещеённых в контейнер, но не для самого контейнера, Да, прошу прощения, действительно стоило... AG>для самого контейнера решения не предусмотрено. new размещения в "родительском" процессе + reinterpret_cast в остальных? Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском |
| Re[3]: Shared memory & std::map | |
| От: | gear nuke | ||
| Дата: | 27.05.08 13:40 |
| Здравствуйте, Alexander G, Вы писали: AG>для самого контейнера решения не предусмотрено. 2 варианта: new (shared_memory) map<>; shared_memory — либо поинтер для обычного placement new, либо тег вроде std::nothrow_t (и в аллокаторе использовать его же). People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth |