Как изменить версию языка c в visual studio

Обновлено: 16.05.2024

Поскольку доступно множество различных версий C++ (C++98, C++03, C++11, C++14, C++17 и т. д.), как ваш компилятор узнает, какую из них использовать? Как правило, компилятор выбирает стандарт по умолчанию (часто не самый последний стандарт языка). Если вы хотите использовать другой стандарт, вам необходимо изменить настройки вашей IDE/компилятора. Эти настройки применяются только к активному проекту. При создании нового проекта их необходимо установить заново.

Мы используем C++17. Если ваш компилятор не поддерживает C++17, вы не сможете полностью пройти все уроки, хотя с большинством из них у вас не будет проблем. Убедитесь, что вы используете последнюю версию компилятора, чтобы вы могли самостоятельно скомпилировать все примеры. В конце этого урока есть пример, который вы можете использовать, чтобы проверить, правильно ли вы настроили компилятор.

Кодовые названия для разрабатываемых стандартов языка C++

Обратите внимание, что стандарты языка C++ названы по годам, в которые они были приняты (например, C++ 17 был завершен в 2017 году).

Однако, когда идет согласование нового языкового стандарта, неясно, в каком году состоится его окончательная доработка. Следовательно, незавершенным языковым стандартам присваиваются кодовые названия, которые затем, после завершения стандарта, заменяются фактическими названиями. Например, C++11 во время разработки назывался c++1x. Вы по-прежнему можете встречать эти кодовые названия (особенно для будущей версии языкового стандарта, у которой еще нет окончательного названия).

Вот сопоставление кодовых названий с конечными названиями:

  • c++1x = C++11
  • c++1y = C++14
  • c++1z = C++17
  • c++2a = C++20

Например, если вы видите c++1z, это синоним стандарта языка C++17.

Настройка стандарта языка C++ в Visual Studio

На момент написания Visual Studio 2019 по умолчанию использует возможности C++14, что не позволяет использовать новые функции, представленные в C++17 (и C++20), некоторые из которых будут рассмотрены в будущих уроках.

Чтобы использовать эти новые функции, вам необходимо активировать новый языковой стандарт. К сожалению, в настоящее время нет возможности сделать это глобально – вы должны делать это для каждого проекта отдельно.

Для этого откройте свой проект, затем перейдите в меню Проект (Project) → Свойства (Properties) (имя вашего приложения), затем откройте Свойства конфигурации (Configuration Properties) → C/C++ → Язык (Language).

Там вы можете установить стандарт языка C++ на ту версию C++, которую хотите использовать.

Рисунок 1 Выбор стандарта языка C++ в Visual Studio

Рисунок 1 – Выбор стандарта языка C++ в Visual Studio

На момент написания мы рекомендуем выбрать «Стандарт ISO C++17 (/std:c++17)» (ISO C++17 Standard (/std:c++17)), который является последним стабильным стандартом.

Если вы хотите поэкспериментировать с возможностями будущего языкового стандарта C++20, выберите «Предварительная версия – функции из последнего рабочего черновика C++ (/std:c++latest)» (ISO C++Latest (/std:c++latest)). Просто обратите внимание, что поддержка может быть нестабильной или глючной.

Настройка стандарта языка C++ в Code::Blocks

Code::Blocks может по умолчанию использовать языковой стандарт до C++11. Обязательно проверьте и убедитесь, что включен более современный языковой стандарт.

Хорошая новость заключается в том, что Code::Blocks позволяет установить языковой стандарт глобально, поэтому вы можете настроить его один раз (а не для каждого проекта). Для этого перейдите в меню Settings (Настройки) → Compiler (Компилятор):

Рисунок 2 Переход к настройкам компилятора в Code::Blocks

Рисунок 2 – Переход к настройкам компилятора в Code::Blocks

Затем найдите поле или поля с надписью «Have g++ follow the C++XX ISO C++ language standard [-std=c++XX]», где XX – это 11, 14 или другое большее число (смотрите элементы внутри прямоугольников на скриншоте ниже):

Рисунок 3 Настройка стандарта языка C++ в Code::Blocks

Рисунок 3 – Настройка стандарта языка C++ в Code::Blocks

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

Ваша версия Code::Blocks может также поддерживать будущие (или только что выпущенные) версии C++. Если это так, они будут помечены как «Have g++ follow the coming C++XX (aka C++YY) ISO C++ language standard [-std=c++XX]» (синий прямоугольник на скриншоте ниже). При желании вы можете включить их, если хотите использовать функции, добавленные в этих версиях, но обратите внимание, что поддержка может быть неполной (т.е. некоторые функции могут отсутствовать).

Рисунок 4 Стандарт C++17, когда он еще не был принят, т.е. c++1z, в Code::Blocks

Рисунок 4 – Стандарт C++17, когда он еще не был принят, т.е. c++1z, в Code::Blocks

Смотрите список в верхней части статьи, где приведен список кодовых названий, соответствующих языковым стандартам.

Например, если вы хотите включить возможности C++17, а в ваших настройках нет параметра C++17, найдите -std=c++1z (кодовое название для C++17).

Кроме того, вы можете перейти на вкладку «Other Compiler Options» (Другие параметры компилятора) и ввести -std=c++17 .

Рисунок 5 Выбор стандарта языка в Code::Blocks с помощью флага компилятора

Рисунок 5 – Выбор стандарта языка в Code::Blocks с помощью флага компилятора

Примечание

Это будет работать, если ваш компилятор поддерживает C++17. Если вы используете старую версию Code::Blocks, и функции C++17 не работают, обновите компилятор.

Установка языкового стандарта в g++

Для GCC/G++ вы можете передать флаги компилятора -std=c++11 , -std=c++14 , -std=c++17 или -std=c++2a , чтобы включить C++11/14/17/2a соответственно.

Тестирование вашего компилятора

После включения C++17 или выше вы сможете скомпилировать следующий код без каких-либо предупреждений или ошибок.

Если вы не можете скомпилировать этот код, то вы либо не включили C++17, либо ваш компилятор не полностью его поддерживает. В последнем случае установите последнюю версию вашей IDE/компилятора, как описано в уроке «0.6 – Интегрированная среда разработки (IDE)».

Шаг 1. Запуск Portability Analyzer

Запускаем Portability Analyzer и указываем расположение исходного кода проекта:

Portability Analyzer

Portability Analyzer

После этого откроется файл Excel с отчётом по проверке. У меня этот файл выглядел следующим образом:

Portability Summary

Лист Portability Summary

Шаг 2. Миграция .csproj в SDK-стиле


А вот так будет выглядеть контекстное меню проекта без пункта:







Откроется XML-файл примерно такого содержания:


Вместо только что удаленного текста вставьте следующий код необходимый для консольного приложения(здесь небольшое расхождение с первоисточником):

У меня такой блок оказался всего один, поэтом итоговый файл *.cproj стал выглядеть вот так:


Помогло удаление файла AssemblyInfo.cs


После этого проект запустился, работоспособность не нарушилась. Однако встретилась другая проблема.


Теперь необходимо добавить в проект пространство имен:

И можно пользоваться классами Point и Rect :

При написании программ в среде Visual studio иногда возникает необходимость вывода текста на русском языке. Казалось бы, что тут сложного? Берёшь и выводишь! А вот нет, иначе бы не было кучи форумов и страничек в интернете с этой проблемой.
А проблема заключается в кодировке, причём все сайты пишут работающие способы, но, к сожалению, далеко не у всех. В этой статье мы расскажем вам о том, как действительно нужно исправлять эту проблему.

Итак, вы написали программу, в которой решили вывести строку русскими буквами, например, "Русский язык в консоли!". Вы запускаете программу, но вместо заветной строки видите там "кракозябры"! Что же делать?

Программа, выводящая русскую строку в visual studio

В результате видим кракозябры

Программа, выводящая русскую строку в visual studio

А возможный результат может выглядеть так:

Результат может быть как корректным, так и кракозябристым

Результат может быть как корректным, так и кракозябристым

Запустим её, если русский язык уже выводится - поздравляем! Проблема решена! Если нет, то идём дальше.

В верхнем меню выберете пункт файл , Сохранить <название вашего файла> как . В открывшемся окне вместо Сохранить выберем Сохранить с кодировкой , подтвердим, что желаем заменить файлы и выберем кодировку Кириллица (Windows) - кодовая страница 1251 .

Сохраняем файл в другой кодировке

Выбираем сохранение с кодировкой

Выбираем кодировку Кириллица (Windows) - кодовая страница 1251

Выбираем кодировку Кириллица (Windows) - кодовая страница 1251

Нажмём ОК и соберём программу заново.

Нужная кодировка - Кириллица (Windows) - кодовая страница 1251

Нужная кодировка - Кириллица (Windows) - кодовая страница 1251

Запустим программу вновь и теперь русский язык будет корректно выводиться!

Программа запустилась и русский язык выводится

UPD: Ещё один способ заставить работать русский язык

Если ничего из вышеперечисленного не помогло, значит проблема в кодировке самой консоли. А её можно изменить с помощью команды system("chcp 1251"); , то есть программа будет выглядеть так:

Фото Перминова Андрея, автора этой статьи

Выпускник МГУ им. М.В. Ломоносова

Programforyou — это сообщество, в котором Вы можете подтянуть свои знания по программированию, узнать, как эффективно решать те или иные задачи, а также воспользоваться нашими онлайн сервисами.

Visual Studio Code или VS Code – популярный редактор исходного кода от компании Майкрософт. Редактор распространяется полностью бесплатно и отличается легким интерфейсом, поддержкой разных платформ и ориентирован на разработку веб-приложений.

Одной из особенностей VS Code является то, что он распространяется только с английским языком, а другие языки нужно устанавливать отдельно. В данной статье мы расскажем о том, как включить русский язык в Visual Studio Code. Статья будет актуальной для современных версий VS Code, выпущенных в 2019 году и позже.

Откройте меню « View – Command Palette » или нажмите комбинацию клавиш Ctrl-Shift-P и начните вводить фразу « Configure Display ». После появления подсказки, кликните на пункт « Configure Display Language ».

Configure Display Language

После этого появится список доступных языков. Если в нем нет русского ( ru ), то нужно нажать на « Install additional languages ».

Install additional languages

Дальше загрузится список доступных языков. Здесь нужно найти и установить « Russian Language Pack ».

Russian Language Pack

После завершения установки нажимаем на кнопку « Restart » чтобы перезапустить VS Code.

VS Code Restart

После перезапуска Visual Studio Code начнет работать с русским языком интерфейса. Чтобы вернуться к английскому снова переходим в « Configure Display Language ».

Configure Display Language

Выбираем « EN » и перезагружаем VS Code.

выбор языка

Читайте также: