Поскольку ваш вопрос относится к GCC, вам следует внимательно ознакомиться с документацией к используемой вами версии.Документация для GCC 4.5.2 гласит следующее.Который из моего чтения будет означать, что если вы избегаете dynamic_cast и typeid, у вас должно быть все в порядке.Тем не менее, у меня нет личного опыта с -fno-rtti.Возможно, вы захотите уточнить, почему вы используете -fno-rtti.
-fno-rtti
Отключить генерацию информации о каждом классе с виртуальными функциями для использования при идентификации типа среды выполнения C ++особенности (dynamic_cast
и typeid
).Если вы не используете эти части языка, вы можете сэкономить место с помощью этого флага.Обратите внимание, что для обработки исключений используется та же информация, но она будет генерировать ее по мере необходимости.Оператор dynamic_cast
все еще может использоваться для приведений, которые не требуют информации о типе времени выполнения, то есть приведений к void *
или к однозначным базовым классам.