Конфигурация компилятора: Расширения компилятора

  Юрий  | 

  Обновл. 17 Сен 2020  | 

 10222

 ǀ   3 

На этом уроке мы поговорим о том, что такое расширения компилятора, полезны ли они и как их выключить.

Расширения компилятора

Стандарт языка C++ определяет правила поведения программ при определенных обстоятельствах. И в большинстве случаев компиляторы также будут следовать этим правилам. Однако многие компиляторы вносят свои собственные изменения в язык программирования, часто для улучшения совместимости с другими версиями языка (например, C99), или по историческим причинам. Эти специфичные для компилятора варианты поведения называются расширениями компилятора.

Используя расширения компилятора, вы получаете возможность писать программы, несовместимые со стандартом языка C++. Программы, использующие нестандартные расширения, обычно не компилируются другими компиляторами (которые не поддерживают эти же расширения), или вообще могут работать не так, как нужно.

К сожалению, расширения компилятора часто включены по умолчанию. Это особенно вредно для новичков в программировании, которые могут подумать, что специфическое поведение, вызванное расширениями компилятора, является частью официального стандарта языка C++ (когда, на самом деле, это не так).

Поскольку расширения компилятора очень редко требуются для решения большинства задач, и приводят к тому, что ваши программы не соответствуют стандарту языка C++, то рекомендуется отключать расширения компилятора.

Совет: Отключите расширения компилятора, чтобы ваши программы оставались совместимыми со стандартами языка C++ и работали в любой системе.

Примечание: Настройки, приведенные ниже, применяются для каждого проекта отдельно. Вам нужно будет это всё проделывать при создании нового проекта, либо создать шаблон с этими настройками и уже по этому шаблону создавать новые проекты.

Отключение расширений компилятора


Пользователям Visual Studio

Чтобы отключить расширения компилятора в Visual Studio, щелкните правой кнопкой мыши по названию вашего проекта в меню "Обозреватель решений" > "Свойства":

В диалоговом окне вашего проекта убедитесь, что в пункте "Конфигурация" установлено значение "Все конфигурации". Затем перейдите на вкладку "C/C++" > "Язык" и в пункте "Отключить расширения языка" выберите значение "Да (/Za)":

После этого нажмите "Применить" и "ОК".

Пользователям Code::Blocks

Отключить расширения компилятора можно через меню "Settings" > "Compiler":

Затем на вкладке "Compiler Flags" найдите пункт "Treat as errors the warnings demanded by strict ISO C and ISO C++ [-pedantic-errors]" и поставьте возле него галочку, после чего нажмите "OK":

Пользователям GCC/G++

Вы можете отключить расширения компилятора, добавив флаг -pedantic-errors в командную строку компиляции.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (73 оценок, среднее: 4,95 из 5)
Загрузка...

Комментариев: 3

  1. Аватар Алексей:

    Доброго времени суток! Такой вопрос: если отключить расширения, тогда как подключить кириллицу?

    1. Аватар Владислав:

      Також важливо встановити у самій консолі шрифт Lucida Console

      1. Аватар Владислав:

        і також підключити

Добавить комментарий для Алексей Отменить ответ

Ваш E-mail не будет опубликован. Обязательные поля помечены *