Одним из наиболее распространенных компиляторов для языка C++ является компилятор Clang, который развивается в рамках проекта LLVM. Рассмотрим создание первой простейшей программы на C++ с помощью Clang под ОС Windows.
Прежде всего нам надо установить непосредственно сам компилятор. Clang развивается в рамках проекта LLVM, репозиторий которого можно найти на github: https://github.com/llvm/llvm-project. И данный проект предоставляет готовый установщик компилятора под Windows
Для загрузки установщика под Windows перейдем на страницу релизов в данном репозитории по ссылке https://github.com/llvm/llvm-project/releases/
По умолчанию в самом верху будут ссылки на самую последнюю версию. Но по умолчанию ссылка на установщик для Windows может быть скрыта. В этом случае под набором ссылок необходимо
нажать на ссылку Show All assets. И среди появившихся ссылок найдем пункт LLVM-XX.X.X-win64.exe, где XX.X.X
- это версия.
Например, в моем случае это файл LLVM-18.1.0-win64.exe
Это версия для 64-битной версии Windows. Если ОС 32-х битная, то необходимо загрузить файл LLVM-18.1.0-win32.exe
После загрузки запустим файл.
На стартовом экране программы нажмем на кнопку "Далее". Затем надо будет принять лицензионное соглашение
Далее надо будет указать опции установки:
Чтобы при компиляции не указывать полные пути к компилятору или вручную не добавлять путь к нему в переменные среды выберем на этом окне пункт Add LLVM to the system PATH for current user
На следующем окне укажем папку для установки. Можно оставать путь по умолчанию - "C:/Program Files/LLVM":
На следующих окнах оставим все опции по умолчанию и запустим процесс установки. После успешной установки мы можем приступать к использованию Clang
Чтобы проверить установку Clang, в терминале/командной строке следует ввести команду clang --version. В этом случае нам должна отобразиться базовая информация о компиляторе, типа версии и т.д.:
C:\Users\eugen>clang --version clang version 18.1.0 Target: x86_64-pc-windows-msvc Thread model: posix InstalledDir: C:\Program Files\LLVM\bin
После завершения установки если мы откроем каталог C:\Program Files\LLVM\bin, то найдем там все необходимые файлы компиляторов:
В частности, файл clang.exe предназначен для компиляции программы на языке Си, а clang++.exe как раз и будет представлять компилятор для языка С++. То есть нам нужен clang++.
Итак, создадим на жестком диске С папку для исходных файлов программы на языке C++. А в этой папке создадим новый текстовый файл, который переименуем в hello.cpp. То есть по сути файлы исходного кода на С++ - это обычные текстовые файлы, которые, как правило, имеют расширение cpp.
В моем случае файл hello.cpp находится в папке C:\cpp.
Теперь определим в файле hello.cpp простейший код, который будет выводить строку на консоль:
#include <iostream> // подключаем заголовочный файл iostream int main() // определяем функцию main { // начало функции std::cout << "Hello METANIT.COM!"; // выводим строку на консоль return 0; // выходим из функции } // конец функции
Для вывода строки на консоль необходимо подключить нужный функционал. Для этого в начале файла идет строка
#include <iostream>
Данная строка представляет директиву препроцессора, которая позволяет подключить библиотеку iostream. Эта библиотека нужна для вывода строки на консоль.
Далее идет определение функции main. Функция main должна присутствовать в любой программе на С++, с нее собственно и начинается выполнение приложения.
Функция main состоит из четырех элементов:
Тип возвращаемого значения. В данном случае это тип int. Этот тип указывает, что функция должна возвращать целое число.
Имя функции. В данном случае функция называется main.
Список параметров. После имени функции в скобках идет список параметров. Но в данном случае скобки пустые, то есть функция main не принимает параметров.
Тело функции. После списка параметров в фигурных скобках идет тело функции. Здесь и определяются собственно те действия, которые выполняет функция main.
{ std::cout << "Hello METANIT.COM!"; return 0; }
В теле функции происходит вывод строки на консоль. Для обращения к консоли используется стандартный поток вывода std::cout. С помощью оператора << в этот поток (в данном случае фактически на консоль) передается строка символов, которую надо вывести на консоль, то есть "Hello METANIT.COM!".
В конце осуществляем выход из функции с помощью оператора return. Так как функция должна возвращать целое число, то после return указывается число 0. Ноль используется в качестве индикатора успешного завершения программы.
После каждой инструкции в языке C++ ставятся точка с запятой.
Каждая строка снабжена комментарием. Все, что написано после двойного слеша // представляет комментарий. Комментарий не учитывается при компиляции приложения, и не является частью программного кода, а служат лишь для его описания. Комментарий позволяет понять, что делает программа.
Теперь скомпилируем этот файл. Для этого откроем командную строку Windows и вначале с помощью команды cd перейдем к папке с исходным файлом:
cd C:\cpp
Чтобы скомпилировать исходный код, необходимо компилятору clang++ передать в качестве параметра файл hello.cpp:
clang++ hello.cpp -o hello
Дополнительный необязательный параметр -o hello
указывает, что скомпилированный файл будет называться hello.exe. Если не указать этот параметр, то файл будет называться по умолчанию - a.exe.
После выполнения этой команды будет скомпилирован исполняемый файл, который в Windows по умолчанию называется hello.exe. И мы можем обратиться к этому файлу, и в этом случае консоль выведет строку "Hello METANIT.COM!", собственно как и прописано в коде.
Если вместо командной строки используется оболочка PowerShell, то для запуска файла надо прописать "./hello".