Как изменить версию языка c в visual studio
Поскольку доступно множество различных версий 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
На момент написания мы рекомендуем выбрать «Стандарт 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
Затем найдите поле или поля с надписью «Have g++ follow the C++XX ISO C++ language standard [-std=c++XX]», где XX – это 11, 14 или другое большее число (смотрите элементы внутри прямоугольников на скриншоте ниже):
Рисунок 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
Смотрите список в верхней части статьи, где приведен список кодовых названий, соответствующих языковым стандартам.
Например, если вы хотите включить возможности C++17, а в ваших настройках нет параметра C++17, найдите -std=c++1z (кодовое название для C++17).
Кроме того, вы можете перейти на вкладку «Other Compiler Options» (Другие параметры компилятора) и ввести -std=c++17 .
Рисунок 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
После этого откроется файл Excel с отчётом по проверке. У меня этот файл выглядел следующим образом:
Лист Portability Summary
Шаг 2. Миграция .csproj в SDK-стиле
А вот так будет выглядеть контекстное меню проекта без пункта:
Откроется XML-файл примерно такого содержания:
Вместо только что удаленного текста вставьте следующий код необходимый для консольного приложения(здесь небольшое расхождение с первоисточником):
У меня такой блок оказался всего один, поэтом итоговый файл *.cproj стал выглядеть вот так:
Помогло удаление файла AssemblyInfo.cs
После этого проект запустился, работоспособность не нарушилась. Однако встретилась другая проблема.
Теперь необходимо добавить в проект пространство имен:
И можно пользоваться классами Point и Rect :
При написании программ в среде Visual studio иногда возникает необходимость вывода текста на русском языке. Казалось бы, что тут сложного? Берёшь и выводишь! А вот нет, иначе бы не было кучи форумов и страничек в интернете с этой проблемой.
А проблема заключается в кодировке, причём все сайты пишут работающие способы, но, к сожалению, далеко не у всех. В этой статье мы расскажем вам о том, как действительно нужно исправлять эту проблему.
Итак, вы написали программу, в которой решили вывести строку русскими буквами, например, "Русский язык в консоли!". Вы запускаете программу, но вместо заветной строки видите там "кракозябры"! Что же делать?
Программа, выводящая русскую строку в visual studioА возможный результат может выглядеть так:
Запустим её, если русский язык уже выводится - поздравляем! Проблема решена! Если нет, то идём дальше.
В верхнем меню выберете пункт файл , Сохранить <название вашего файла> как . В открывшемся окне вместо Сохранить выберем Сохранить с кодировкой , подтвердим, что желаем заменить файлы и выберем кодировку Кириллица (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 ».
После этого появится список доступных языков. Если в нем нет русского ( ru ), то нужно нажать на « Install additional languages ».
Дальше загрузится список доступных языков. Здесь нужно найти и установить « Russian Language Pack ».
После завершения установки нажимаем на кнопку « Restart » чтобы перезапустить VS Code.
После перезапуска Visual Studio Code начнет работать с русским языком интерфейса. Чтобы вернуться к английскому снова переходим в « Configure Display Language ».
Выбираем « EN » и перезагружаем VS Code.
Читайте также: