Первая программа на MacOS. Компилятор Clang


Одним из наиболее популярных компиляторов C++ на MacOS является компилятор Clang. Для работы с clang в MacOS необходимо установить утилиту Xcode Command Line Tools. Самой простой способ установить эту утилиту - установить сам XCode, с которым автоматически устанавливается и Xcode Command Line Tools.

Итак, определим в файловой системе каталог для исходных файлов с кодом на С++ и создадим в нем новый файл hello.cpp со следующим кодом:

1
2
3
4
5
6
7
#include <iostream> // подключаем заголовочный файл iostream

int main() // определяем функцию main
{ // начало функции
std::cout << "Hello Metanit.com!"; // выводим строку на консоль
return 0; // выходим из функции
} // конец функции
И это тот же код, что был в случае с Windows и Linux, потому что программы на С++ на уровне исходного кода в большей степени обладают переносимостью.

Для вывода строки на консоль необходимо подключить нужный функционал. Для этого в начале файла идет строка

1
#include <iostream>
Данная строка представляет директиву препроцессора, которая позволяет подключить библиотеку iostream. Эта библиотека нужна для вывода строки на консоль.

Далее идет определение функции main. Функция main должна присутствовать в любой программе на С++, с нее собственно и начинается выполнение приложения.

Функция main состоит из четырех элементов:

Тип возвращаемого значения. В данном случае это тип int. Этот тип указывает, что функция должна возвращать целое число.

Имя функции. В данном случае функция называется main.

Список параметров. После имени функции в скобках идет список параметров. Но в данном случае скобки пустые, то есть функция main не принимает параметров.

Тело функции. После списка параметров в фигурных скобках идет тело функции. Здесь и определяются собственно те действия, которые выполняет функция main.

1
2
3
4
{
std::cout << "Hello Metanit.com!\n";
return 0;
}
В теле функции происходит вывод строки на консоль. Для обращения к консоли используется стандартный поток вывода std::cout. С помощью оператора << в этот поток (в данном случае фактически на консоль) передается строка символов, которую надо вывести на консоль, то есть "Hello World!". В конец строки добавлена специальная управляющая последовательность "\n", которая позволит после вывода текста перевести курсор на новую строку.

В функции осуществляем выход из функции с помощью оператора return. Так как функция должна возвращать целое число, то после return указывается число 0. Ноль используется в качестве индикатора успешного завершения программы.

После каждой инструкции в языке C++ ставятся точка с запятой.

Первая программа на C++ на MacOS
Перейдем к терминалу и вначале с помощью команды cd перейдем к каталогу, где расположен файл с исходным кодом.

Далее для компиляции программы введем команду:

clang++ hello.cpp -o hello
Вначале идет указание компилятора - clang++. После через пробел указывается имя файла с исходным кодом, который будет компилировать компилятор, то есть, в данном случае, файл hello.cpp

Кроме имени файла с исходным кодом компилятору передается параметр -o hello. Он указывает, что мы хотим скомпилировать файл по имени hello. Если этот параметр не передать, то будет создан файл с именем по умолчанию - a.out.

В итоге после выполнения выше приведенной команды в папке с файлом hello.cpp появится скомпилированный файл, который будет называться hello. И мы сможем его запустить с помощью следующей команды:

./hello
И на консоль будет выведена строка "Hello Metanit.com!".

Компиляция программы на C++ в Clang на MacOS