Como instalar GNU GCC (compilador C e C++) e ferramentas de desenvolvimento no RHEL/CentOS e Fedora
Hoje em dia, como administrador de sistema ou engenheiro, você não pode se sentir satisfeito em saber como usar a CLI e solucionar problemas de servidores GNU/Linux, mas também precisará dar um passo adiante na área de desenvolvimento para permanecer no topo do seu jogo. . Se você está considerando uma carreira em desenvolvimento de kernel ou aplicativos para Linux, então C ou C++ é o melhor lugar para começar.
Leia também: Instale C, C++ e crie ferramentas essenciais no Debian/Ubuntu/Mint
Neste artigo iremos explicar como instalar compiladores Gnu C e C++ e suas ferramentas de desenvolvimento relacionadas, como automake, autoconf, flex, bison, etc. em sistemas Fedora e CentOS/RHEL.
O que é compilador?
Em palavras simples, um compilador é um programa de software que transforma instruções escritas em uma linguagem de origem em uma linguagem de destino que a CPU da máquina pode compreender e executar.
No Fedora e em seus derivados (na verdade, isso também vale para todo o ecossistema de distribuição Linux), os compiladores C e C++ mais conhecidos são o gcc e g++, respectivamente, ambos desenvolvidos e apoiados ativamente pela Free Software Foundation como parte do projeto GNU.
Instalando GCC (compilador C++ e ferramentas de desenvolvimento
Se gcc e/ou g++ e suas ferramentas de desenvolvimento relacionadas não estiverem instaladas em seu sistema por padrão, você poderá instalar a versão mais recente disponível nos repositórios do seguinte modo:
yum groupinstall 'Development Tools' [on CentOS/RHEL 7/6]
dnf groupinstall 'Development Tools' [on Fedora 22+ Versions]
Antes de começarmos a escrever código C ou C++, há outra ferramenta para impulsionar seu conjunto de ferramentas de desenvolvimento que queremos mostrar a você.
Acelerando compilações C e C++ no Linux
Quando você, como parte do processo de desenvolvimento, precisa recompilar várias vezes após fazer alterações no código-fonte, é ótimo ter um cache do compilador para acelerar recompilações futuras.
No Linux, existe um utilitário chamado ccache, que 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++.
Ccache tem apenas algumas limitações: só é útil durante a recompilação de um único arquivo. Para outros tipos de compilações, o processo acabará executando o compilador real. A mesma coisa acontece se um sinalizador do compilador não for suportado. O lado positivo é que, em qualquer caso, isso não interferirá na compilação real e não gerará um erro – apenas retornará ao compilador real.
Vamos instalar esta ferramenta:
yum install ccache
e veja como funciona com um exemplo.
Testando o compilador GNU C com um programa C++ simples
Como exemplo, vamos usar um programa C++ simples que calcula a área de um retângulo após seu comprimento e largura terem sido fornecidos como entradas.
Abra seu editor de texto favorito e digite o seguinte código e salve como area.cpp
:
#include <iostream>
using namespace std;
int main()
{
float length, width, area;
cout << "Enter the length of the rectangle: ";
cin >> length;
cout << "Now enter the width: ";
cin >> width;
area = length*width;
cout <<"The area of the rectangle is: "<< area << endl;
return 0;
}
Para compilar o código acima em uma área nomeada executável no diretório de trabalho atual, use a opção -o com g++:
g++ area.cpp -o area
Se você quiser aproveitar as vantagens do ccache, basta acrescentar ccache ao comando acima, como segue:
ccache g++ area.cpp -o area
Em seguida, execute o binário:
./area
Saída de amostra
Enter the length of the rectangle: 2.5
Now enter the width: 3.7
The area of the rectangle is: 9.25
Não deixe que este exemplo simples faça você pensar que ccache não é útil. Você saberá que o ccache é uma ótima ferramenta ao recompilar um grande arquivo de código-fonte. O mesmo princípio se aplica também aos programas C.
Resumo
Neste artigo explicamos como instalar e usar os compiladores GNU para C e C++ em distribuições baseadas no Fedora.
Além disso, mostramos 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 do g++ para obter mais opções e exemplos, aguardamos seu contato caso tenha alguma dúvida ou comentário.