![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
RationaleBoost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 3. Boost.Align
|
Проблема |
Решение |
---|---|
|
|
|
|
|
|
|
|
|
|
C++11 предоставляет std::align
в стандартной библиотеке для выравнивания значения указателя. К сожалению, некоторые реализации стандартных библиотек C++ пока не поддерживают его (libstdc++, например, gcc 4.8.0) и другие реализации стандартных библиотек реализуют его неправильно (dinkumware в msvc 11.0). Эта библиотека предоставляет его для этих реализаций, а также для компиляторов C++03, где он одинаково полезен.
C++11 предоставил в стандартной библиотеке std::выравнивание_
для запроса требования к выравниванию типа. К сожалению, некоторые поставщики стандартных библиотек C++ не реализуют его полностью стандартным образом, например, для типов массивов (libc++ до 3.4). Другие реализации поставщиков сообщают о неправильных значениях для определенных типов, таких как указатель на участников (msvc 14.0). Эта библиотека предоставляет его для этих реализаций, а также для компиляторов C++03, где он одинаково полезен.
Выделения выровненной памяти иногда недостаточно для обеспечения оптимального кода. Разработчики используют специальные внутренние компиляторы для уведомления компилятора о заданном свойстве выравнивания блока памяти. Эта библиотека предоставляет макрос для абстрагирования этой функциональности для компиляторов с соответствующими внутренними элементами.
Эта библиотека предоставляет функцию для проверки выравнивания значения указателя. Как правило, в утверждениях полезно подтвердить, что память правильно выровнена.
Статья Rationale раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 3. Boost.Align может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Chapter 3. Boost.Align ::
реклама |