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

Rationale

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 3. Boost.Align

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

Dynamic allocation

В C++11 добавлена возможность указывать повышенное выравнивание (перевыравнивание) для типов классов. К сожалению, ::операторновыевыделения, новые выражения, и распределитель по умолчанию, std::выделитель, не поддерживают динамическое выделение памяти сверхвыровненных данных. Эта библиотека предоставляет функции распределения, распределители, распределительные адаптеры и удаляющие устройства, которые знают о выравнивании.

Table 3.2. Boost.Align solutions

Проблема

Решение

::оператор(std::size_t, const std::no_throw_t&)

aligned_alloc(std::size_t, std::size_t

::оператор удалить(лишиться*:

aligned_free(void*)

std::allocator<T>

aligned_allocator<T>

Аллокатор

aligned_allocator_adaptor<Allocator>

std::default_delete<T>

aligned_delete


Alignment functions

C++11 предоставляет std::align в стандартной библиотеке для выравнивания значения указателя. К сожалению, некоторые реализации стандартных библиотек C++ пока не поддерживают его (libstdc++, например, gcc 4.8.0) и другие реализации стандартных библиотек реализуют его неправильно (dinkumware в msvc 11.0). Эта библиотека предоставляет его для этих реализаций, а также для компиляторов C++03, где он одинаково полезен.

Alignment traits

C++11 предоставил в стандартной библиотеке std::выравнивание_ для запроса требования к выравниванию типа. К сожалению, некоторые поставщики стандартных библиотек C++ не реализуют его полностью стандартным образом, например, для типов массивов (libc++ до 3.4). Другие реализации поставщиков сообщают о неправильных значениях для определенных типов, таких как указатель на участников (msvc 14.0). Эта библиотека предоставляет его для этих реализаций, а также для компиляторов C++03, где он одинаково полезен.

Alignment hints

Выделения выровненной памяти иногда недостаточно для обеспечения оптимального кода. Разработчики используют специальные внутренние компиляторы для уведомления компилятора о заданном свойстве выравнивания блока памяти. Эта библиотека предоставляет макрос для абстрагирования этой функциональности для компиляторов с соответствующими внутренними элементами.

Alignment testing

Эта библиотека предоставляет функцию для проверки выравнивания значения указателя. Как правило, в утверждениях полезно подтвердить, что память правильно выровнена.


PrevUpHomeNext

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




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



:: Главная :: Chapter 3. Boost.Align ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:27:29/0.0067780017852783/0