Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Appendix F: Other Implementations

Boost , Boost.Pool , Appendices

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Аллокаторы пула встречаются во многих языках программирования и во многих вариациях. Начало многих реализаций можно найти в общей литературе по программированию; некоторые из них приведены ниже. Обратите внимание, что ни одна из них не является полной реализацией пула; большинство из них оставляют некоторые аспекты пула в качестве пользовательского упражнения. Однако в каждом случае, хотя некоторые аспекты отсутствуют, в этих примерах используется одна и та же базовая концепция простого сегрегированного хранилища, описанная в этом документе.

  1. Язык программирования C++, 3-е изд., Bjarne Stroustrup, Section 19.4.2. Недостающие аспекты:
    • Не переносимые.
    • Не может справиться с выделением произвольных чисел объектов (это осталось как упражнение).
    • Не безвредно.
    • Страдает от статической проблемы инициализации.
  2. MicroC/OS-II: ядро реального времени, Жан Дж.
    • Пример схемы Simple Segregated Storage при работе во внутренних системах фактической ОС.
    • Недостающие аспекты:
    • Не портативный (хотя это нормально, так как он является частью собственной ОС).
    • Нельзя обрабатывать выделения произвольных чисел блоков (что тоже нормально, так как эта функция не нужна).
    • Требуется неинтуитивный пользовательский код для создания и уничтожения пула.
  3. Эффективный C++: Методы программирования производительности, Дов Булка и Дэвид Мэйхью, главы 6 и 7.
    • Это хороший пример итеративного развития пула солутио.
    • однако их предпосылка (о том, что механизм распределения, предоставляемый системой, безнадежно неэффективен) несовершенна в каждой системе, которую я тестировал.
    • Запустите их время в вашей системе, прежде чем принимать их выводы.
    • Недостающий аспект: Требуется неинтуитивный пользовательский код для создания и уничтожения пула.
  4. Расширенный C++: стили программирования и идиомы, Джеймс О. Коплиен, раздел 3.6.
    • Есть примеры как статического, так и динамического объединения, но отсутствуют аспекты:
    • Не безвредно.
    • Пример статического объединения не является портативным.

PrevUpHomeNext

Статья Appendix F: Other Implementations раздела Boost.Pool Appendices может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Appendices ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 04:11:53/0.0035669803619385/0