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

Porting

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 6. Boost.Atomic

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

Boost.Atomicобеспечивает единичный набор тестов для проверки того, что реализация ведет себя так, как ожидалось:

  • Fallback_api.cppподтверждает, что обратный к блокировке аспектBoost.Atomicкомпилирует и имеет правильную семантику значений.
  • native_api.cppпроверяет, что все атомные операции имеют правильную семантику значений (например, «fetch_add» действительно добавляет желаемое значение, возвращая предыдущее). Это грубый «тест на дым», чтобы помочь отсеять наиболее очевидные ошибки (например, переполнение ширины, подписанное / неподписанное расширение).
  • lockfree.cppподтверждает, чтоBOOST_ATOMIC_*_LOCKFREEМакросы устанавливаются должным образом в соответствии с ожиданиями для данной платформы, и что они совпадают сявляется_lock_freeфункции членоватомныхэкземпляров объектов.
  • Atomicity.cppпозволяет двум нитям гоняться друг против друга, изменяя общую переменную, проверяя, что операции ведут себя атомарно в зависимости от обстоятельств. По своей природе этот тест обязательно стохастичен, и тест самокалибруется, чтобы дать 99% уверенности в том, что положительный результат указывает на отсутствие ошибки. Этот тест очень полезен на однопроцессорных системах с упреждением.
  • ordering.cppпозволяет двум потокам соревноваться друг с другом, получая доступ к нескольким общим переменным, проверяя, что операции демонстрируют ожидаемое поведение заказа. По своей природе этот тест обязательно стохастичен, и тест пытается самокалибровать, чтобы дать 99% уверенность в том, что положительный результат указывает на отсутствие ошибки. Это работает только на реальных многопроцессорных (или многоядерных) системах. Он не дает никакого результата на однопроцессорных системах или эмуляторах (из-за отсутствия наблюдаемого переупорядочения даже в случае порядка = расслабления) и сообщит об этом факте.

Boost.Atomicбыл протестирован и, как известно, работает на следующих компиляторах/платформах:

  • gcc 4.x: i386, x86_64, ppc32, ppc64, sparcv9, armv6, alpha
  • Visual Studio Express 2008/Windows XP, x86, x64, ARM
  • Адам Вулькевич создал логотип, используемый на странице проектаGitHub. Логотип был взят из егоколлекциилоготипов Boost.

PrevUpHomeNext

Статья Porting раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 6. Boost.Atomic может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 6. Boost.Atomic ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:30:31/0.0085351467132568/1