Instale ferramentas de desenvolvimento e compilador C, C++ (essenciais para compilação) no Debian/Ubuntu
A maioria dos administradores e engenheiros de sistema Linux são obrigados a conhecer alguma programação básica para ajudá-los em suas tarefas diárias. Se eles também quiserem dar um passo adiante na área de desenvolvimento (seja como programadores de kernel ou de aplicativos), então C ou C++ é o melhor lugar para começar.
Leia também: Instale C, C++ e ferramentas de desenvolvimento no RHEL/CentOS/Fedora
Neste artigo, explicaremos como instalar os compiladores C e C++ e suas ferramentas de desenvolvimento (build-essential ) pacotes relacionados como make, libc-dev, dpkg-dev, etc. no Debian e derivados como Ubuntu e Linux Mint.
O software build-essential contém uma lista informativa de softwares que são tratados como importantes para a construção de pacotes Debian, incluindo o compilador gcc, make e outras ferramentas necessárias.
O que é um compilador?
Simplificando, um compilador é um programa de software que processa instruções escritas em uma linguagem de programação e cria um arquivo binário que a CPU da máquina pode compreender e executar.
Nas distribuições baseadas em Debian, os compiladores C e C++ mais conhecidos são gcc e g++, respectivamente. Ambos os programas foram desenvolvidos e ainda são mantidos pela Free Software Foundation através do projeto GNU.
Instalando o compilador C, C++ e ferramentas de desenvolvimento (essencial para compilação)
Se o seu sistema não tiver o pacote build-essential instalado por padrão, você poderá instalar a versão mais recente disponível nos repositórios de distribuição padrão da seguinte maneira:
apt-get update && apt-get install build-essential
OR
sudo apt-get update && sudo apt-get install build-essential
Agora estamos prontos para começar a digitar código C ou C++… ou quase. Estamos prestes a mostrar mais uma ferramenta para impulsionar seu conjunto de ferramentas de desenvolvimento.
Acelerando compilações C e C++
Quando você sabe que precisará compilar um programa, fazer alterações e depois recompilar novamente, é ótimo ter uma ferramenta como ccache, que como você provavelmente adivinhará com base em seu nome, é um cache do compilador.
Ele acelera a recompilação armazenando em cache compilações anteriores e detectando quando a mesma compilação está sendo feita novamente. Além de C e C++, ele também suporta Objective-C e Objective-C++. As únicas limitações são:
- Suporta apenas o armazenamento em cache da compilação de um único arquivo C/C++/Objective-C/Objective-C++. Para outros tipos de compilações (compilação de vários arquivos, vinculação, para citar alguns exemplos), o processo acabará executando o compilador real.
- Alguns sinalizadores do compilador podem não ser suportados. Se tal sinalizador for detectado, o ccache voltará silenciosamente para a execução do compilador real.
Vamos instalar esta ferramenta:
aptitude install ccache
Na próxima seção, veremos alguns exemplos de compilação de código C e C++ com e sem ccache.
Testando C e C++ com um programa de exemplo
Vamos usar o exemplo clássico de um programa C muito básico que soma dois números. Abra seu editor de texto favorito e digite o seguinte código e salve-o como sum.c
:
#include<stdio.h>
int main()
{
int a, b, c;
printf("Enter two numbers to add, separated by a space: ");
scanf("%d%d",&a,&b);
c = a + b;
printf("The sum of equals %d\n",c);
return 0;
}
Para compilar o código acima em um executável chamado sum no diretório de trabalho atual, use a opção -o com gcc:
gcc sum.c -o sum
Se você quiser aproveitar as vantagens do ccache, basta acrescentar o comando acima com ccache, como segue:
ccache gcc sum.c -o sum
Em seguida, execute o binário:
./sum
Embora este exemplo básico não nos permita ver todo o poder do ccache, para programas maiores você perceberá rapidamente que ele é uma ótima ferramenta. O mesmo se aplica aos programas C++.
Resumo
Neste guia, mostramos como instalar e usar os compiladores GNU para C e C++ no Debian e derivados. Além disso, explicamos como usar o cache do compilador para acelerar recompilações do mesmo código. Embora você possa consultar as páginas de manual on-line do gcc e g++ para obter mais opções e exemplos, não hesite em nos enviar uma mensagem usando o formulário abaixo se tiver alguma dúvida ou comentário.