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

Mixing sources with RTTI on and RTTI off

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 38. Boost.TypeIndex 4.1

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

Связывание бинарных файлов с исходными файлами, которые были составлены с различными флагами RTTI, не очень хорошая идея и может привести к большому количеству сюрпризов. Однако, если есть очень сильная потребность, библиотека TypeIndex предоставляет решение для смешивания источников: просто определить BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY макрос. Это привело бы к использованию того же класса type_index (boost::typeindex::ctti_type_index или boost::typeindex::stl_type_index) по всему проекту.

[Note] Note

Не забудьте восстановить все проекты с BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY

Вы должны знать, что связывание RTTI и RTTI с бинарными опционами может преуспеть даже без определения BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY макро, но это не означает, что вы получите рабочий бинарный код. Такие действия могут нарушить правило единого определения. Взгляните на таблицу ниже, которая показывает, как boost::type_index get_integer(); функция будет выглядеть с различными флагами RTTI:

RTTI on

RTTI off

boost::typeindex::stl_type_index get_integer();

boost::typeindex::ctti_type_index get_integer();

Такие различия обычно не обнаруживаются линкером и приводят к ошибкам в рабочее время.

[Warning] Warning

Даже с BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY не существует гарантии, что все будет в порядке. Библиотеки, которые используют свои собственные обходные пути для инвалидов RTTI, могут не связать или работать правильно.


PrevUpHomeNext

Статья Mixing sources with RTTI on and RTTI off раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 38. Boost.TypeIndex 4.1 может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 38. Boost.TypeIndex 4.1 ::


реклама


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

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