Clang. Первая программа на MacOS


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

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

1
2
3
4
5
6
#include <stdio.h> // подключаем заголовочный файл stdio.h
int main(void) // определяем функцию main
{ // начало функции
printf("Hello METANIT.COM! \n"); // выводим строку на консоль
return 0; // выходим из функции
} // конец функции
Этот код аналогичен тому, что применялся в случае с Windows и Linux.

Чтобы вывести строку на консоль, необходимо подключить подключает заголовочный файл stdio.h с помощью директивы include.

1
#include <stdio.h>
Этот заголовочный файл содержит определение функции printf, которая нужна для вывода строки на консоль.

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

Ключевое слово int в определении функции int main(void) говорит о том, что функция возвращает целое число. А слово void в скобках указывает, что функция не принимает параметров. А все содержимое функции заключается в фигурные скобки.

В самой функции происходит вывод строки на консоль с помощью функции printf, в которую передается выводимая строка "Hello METANIT.COM!".

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

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

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

clang hello.c
В итоге в папке с файлом hello.c появился скомпилированный файл, который по умолчанию называется a.out. Запустим его с помощью следующей команды:

./a.out
И на консоль будет выведена строка "Hello METANIT.COM!".

Компиляция программы в Clang и MacOS
При компиляции с помощью флага -o можно задать имя выходного файла:

clang hello.c -o app
В этом случае будет компилироваться файл app, который также будет находиться в папке с файлом hello.c. И в этом случае мы его можем запустить следующим образом:

./app