Большинство программ в Linux написаны на Си или С++, и если вы хотите собирать их из исходников, то вам обязательно понадобиться компилятор, также он понадобиться, если захотите начать писать свои программы на одном из этих языков.
Существует два основных компилятора в Linux — это GCC и Clang, они похожи по своим возможностям, но так сложилось, что первый считается стандартом для Ubuntu. GCC расшифровывается как GNU Compiler Collection. В этой статье мы рассмотрим как выполняется установка GCC Ubuntu 16.04, а также рассмотрим базовые приемы работы с этим набором программ в терминале.
Набор компиляторов GCC
Все программы представляют собой набор машинных команд, которые выполняются процессором. Эти команды — последовательность бит. Но писать программы наборами бит очень неудобно, поэтому были придуманы языки программирования высокого уровня. Код на языке программирования хорошо читаем и понятен для человека, а когда из него нужно сделать программу, компилятор ubuntu преобразует все в машинные команды.
В базовую поставку компилятора входят такие программы:
- libc6-dev — заголовочные файлы стандартной библиотеки Си;
- libstdc++6-dev — заголовочные файлы стандартной библиотеки С++;
- gcc — компилятор языка программирования Си;
- g++ — компилятор языка программирования C++;
- make — утилита для организации сборки нескольких файлов;
- dpkg-dev — инструменты сборки пакетов deb.
Все эти пакеты являются зависимостями пакета build-essential, поэтому для установки всего необходимого достаточно установить этот пакет.
Установка GCC в Ubuntu 16.04
Если вас устраивает текущая версия GCC, которая есть в официальных репозиториях дистрибутива, то вам достаточно установить пакет build-essential. Для этого выполните команду:
sudo apt install build-essential
После завершения выполнения все необходимое для компиляции программ будет установлено. И вы сможете использовать компилятор ubuntu. Давайте посмотрим версии и расположение компиляторов:
whereis gcc make
gcc -v
make -v
Но если вы хотите более новую версию компилятора, например, на данный момент последняя версия — 6.2, то можно использовать PPA разработчиков с тестовыми сборками. Для добавления PPA в систему выполните:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt update
Затем установите сами компиляторы:
sudo apt install gcc-snapshot
$ sudo apt install gcc-6 g++-6
Это не заменит ваш текущий компилятор на новый. В системе просто появятся компиляторы gcc-6 и g++-6, которые вы можете использовать для своих программ. Это лучший вариант на данный момент, но если вы хотите все же сделать gcc-6 компилятором по умолчанию, выполните:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
Готово, теперь вы можете проверить версию gcc-6:
gcc-6 -v
Установка GCC Ubuntu 16.04 завершена, и можно переходить к сборке программ. Для удаления компилятора достаточно удалить пакет build-essential:
sudo apt purge build-essential
$ sudo apt autoremove
А чтобы заменить новую версию обратно, установите и замените настройки программ по умолчанию:
sudo apt-get install gcc-4.8 g++-4.8
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8;
Использование GCC в Ubuntu 16.04
Давайте рассмотрим пример компиляции минимальной программы hello.c для освоения работы с gcc. Вот код программы, сохраните его в файле hello.c:
include <stdio.h>
int main(void)
{
printf("Hello, world!n");
return 0;
}
Теперь запустим сборку программы:
gcc hello.c
Когда сборка программы будет завершена, вы можете ее запустить:
./a.out
Готово, компилятор прекрасно работает в системе, и теперь вы можете писать свои программы или собирать чужие.