Решение

Опции командной строки для указания строгого соответствия стандарту C++ приведены в табл. 1.37. Инструкции для включения строгого соответствия в IDE приведены в табл. 1.38

Некоторые из показанных в табл. 1.6 опций компиляторов могут рассматриваться как опции соответствия. Примерами являются опции для включения основных языковых функций, таких как поддержка «широких» символов, исключений и информации о типе во время выполнения. В табл. 1.37 они не приведены.

Табл. 1.37. Включение строгого соответствия из командной строки

Инструментарий Опции командной строки компилятора
GCC -ansi -pedantic-errors
Visual C++ -Za
Intel (Windows) -Za -Qms0
Intel (Linux) -strict-ansi¹
Metrowerks -ansi strict -iso_templates on -msext off
Comeau (Windows) -A
Comeau (Unix) -strict or -A
Borland -A²
Digital Mars -A

¹ Версии компилятора Intel для Linux до 9.0 использовали опцию - strict_ansi. При использовании -strict-ansi или - strict_ansi может потребоваться с помощью опции -cxxlib-icc включить стандартную библиотеку Intel

² С опцией некоторые стандартные заголовочные файлы библиотеки STLPort могут не компилироваться.

Табл. 1.38. Включение строгого соответствия в IDE

IDE Конфигурация
Visual C++ На страницах свойств проекта перейдите к Configuration Properties→C/C++→Language и установите в значение Yes (Да) опции Disable Language Extensions (Отключить расширения языка), Treat wchar_t as Built-in Type (Рассматривать wchar_t как встроенный тип) и Force Conformance in For Loop Scopes (Включить соответствие стандарту в циклах For)
Metrowerks В окне Target Settings перейдите к Language Settings→C/C++ Language и установите ISO Template Parser (Синтаксический анализ шаблонов ISO), ANSI Strict (Строгий ANSI) и ANSI Keywords Only (Только ключевые слева ANSI). Убедитесь, что выбраны опции Enable C++ Exceptions (Включить исключений С++). Enable RTTI support (Включить поддержку RTTI). Enable bool Support (Включить поддержку bool) и Enable wchar_t Support (Включить поддержку wchar_t)
C++Builder В Project Options перейдите к Advanced Compiler и в разделе Language Compliance (Соответствие языка) установите ANSI
Dev-C++ См запись для GCC в табл. 1 37 и обратитесь к рецепту 1.20
Обсуждение

Язык C++ был стандартизирован Международной организацией по стандартизации (International Standards Organization — ISO) в 1998 году. В том же году стандарт ISO был одобрен и принят Национальным институтом стандартизации США (American National Standards Institute — ANSI). В 2003 году была одобрена вторая редакция стандарта, которая содержит исправления и пояснения, но также вводит несколько новых языковых возможностей. В настоящее время ведется работа над обновленной версией стандарта С++, которая будет включать несколько важных языковых функций и расширенную стандартную

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату