Краткое содержание
В этом уроке устанавливается и испытывается среда, в которой предстоит работать на протяжении всего курса. Сначала объясняется, что устанавливается и зачем: компилятор, который является отдельной программой; редактор Visual Studio Code, который его вызывает; официальное расширение редактора для C++; и терминал, из которого компилятор вызывается без посредников. Затем даётся полное руководство для каждой системы: в Windows это MSYS2 со средой UCRT64 и GCC или, как альтернатива, компилятор Microsoft; в macOS это инструменты командной строки Xcode с Clang или GCC из Homebrew, если версии Apple недостаточно; в Linux это GCC из дистрибутива в Debian и Ubuntu, Fedora и Arch. Следуют установка редактора и его расширения, одинаковая во всех трёх системах, и настройка консоли Windows, чтобы она печатала и читала текст в UTF-8. В конце даны проверочная программа, которая печатает строку на русском языке и стандарт C++, применяемый компилятором, и частые сбои установки, каждый со своей причиной и способом устранения.
Цели обучения
- Установить в своей системе компилятор с поддержкой C++23 и узнать его версию из терминала.
- Установить Visual Studio Code и его официальное расширение для C++ и открыть в нём рабочую папку.
- Скомпилировать и запустить первую проверочную программу из терминала и из редактора.
- Диагностировать и устранить не менее трёх частых сбоев установки (компилятор не найден, старая версия, стандарт не распознан).
Что устанавливается и зачем
В уроке Программы, компиляторы и C++ было показано, что программа на C++ не выполняется в том виде, в каком она написана: компилятор переводит её в исполняемый файл, то есть файл с машинными инструкциями, который операционная система может запустить. Если это так, то для программирования нужны по меньшей мере две разные вещи: место, где писать текст программы, и переводчик, который превратит его в исполняемый файл. Первое даёт редактор, второе даёт компилятор. Это отдельные программы, которые устанавливаются по отдельности и могут ломаться по отдельности, и их не стоит смешивать: редактор ничего не компилирует, а просит компилятор скомпилировать программу и показывает то, что тот отвечает.
У этого разделения есть практическое следствие, от которого зависят все руководства этого урока. Когда редактор «компилирует», на самом деле он пишет в терминале команду вроде g++ main.cpp -o main, точно так же, как мог бы написать её сам учащийся. Отсюда следует, что всё, что делает редактор, можно сделать и вручную в терминале, текстовом окне, в котором пишутся команды для операционной системы; и что, если редактор даёт сбой, терминал позволяет выяснить, где дефект: в редакторе или в компиляторе. Поэтому курс с первого дня работает с обоими: с редактором ради удобства, с терминалом, чтобы знать, что происходит.
Устанавливаются четыре компонента.
- Компилятор со своей стандартной библиотекой. Курс использует стандарт C++23, поэтому компилятор должен его поддерживать, а его библиотека должна содержать заголовочный файл
<print>, который даётstd::println. В Windows и Linux будет использоваться GCC (команда для C++ у него называетсяg++), в macOS будет использоваться Clang (clang++). Нужен GCC 15 или новее: заголовочный файл<print>появился в библиотеке GCC в версии 14, но печать целой коллекции черезstd::println, которой курс пользуется начиная с урока Программы, компиляторы и C++ и во многих последующих уроках, появилась только в 15-й. В macOS нужны инструменты Xcode 16 или новее. - Редактор: Visual Studio Code, бесплатный и одинаковый во всех трёх системах, так что указания курса годятся для всех.
- Официальное расширение C/C++ от Microsoft для Visual Studio Code, которое учит редактор языку: подсвечивает код, отмечает ошибки по ходу набора, дополняет имена и умеет вызывать компилятор и отладчик.
- Отладчик, GDB в Windows и Linux, LLDB в macOS: программа, которая позволяет остановить выполнение и посмотреть состояние программы. Он устанавливается сейчас вместе с компилятором и понадобится начиная с раздела 4.
Приведённые ниже руководства независимы: каждый учащийся следует руководству для своей системы и затем переходит к части о Visual Studio Code. В блоках команд знак $ в начале строки обозначает приглашение терминала и не набирается; строки без него показывают ответ терминала. Указанные официальные сайты являются единственными, откуда стоит что-либо скачивать: установщик, полученный из другого места, может оказаться устаревшим или изменённым.
Загрузка содержимого…