O processo de compilação é uma grande parte de qualquer projeto de codificação C++. Você precisa de um compilador que seja eficaz e simples, além de oferecer uma variedade de funcionalidades. É aí que entra o compilador g++. Ele oferece uma variedade de funções para suas necessidades de compilação, direto da linha de comando. Aqui mostramos como começar com esta ótima ferramenta.
O que é g++?
O G++ é melhor descrito como um compilador C++ que é executado a partir de sua linha de comando. Foi lançado pela Free Software Foundation e faz parte do GCC (GNU Compiler Collection). Ele transforma seu código, escrito em uma linguagem de programação de alto nível (neste caso, C++), em um arquivo executável, transformando-o em uma linguagem de baixo nível compreendida pelo computador.
Instalação
A maioria das instalações do Linux vem com o g++ instalado imediatamente. No entanto, se sua distro de escolha não, acompanhe aqui e aprenda como instalá-la em algumas das distribuições mais comuns do Linux.
No Ubuntu e no Debian, instale-o usando o apt
gerenciador de pacotes:
sudo apt update && sudo apt install g++
No Fedora e CentOS, instale-o usando o yum
gerenciador de pacotes:
sudo yum install g++
Você também pode baixá-lo como um pacote de pkgs.org. Isso pode ser feito usando a ferramenta Curl:
sudo curl http://ftp.de.debian.org/debian/pool/main/g/gcc-defaults/g++_10.2.1-1_amd64.deb -O
Você pode instalar o pacote usando o dpkg
Utilitário:
sudo dpkg -i g++.deb
Para verificar se o g++ está instalado, use o --version
bandeira:
g++ --version

Uso básico
Agora que o g++ está instalado, você pode começar a usá-lo para suas necessidades de compilação.
Em primeiro lugar, é útil dar uma olhada no manual usando o --help
bandeira:
g++ --help

Às vezes é útil visualizar informações extras sobre o compilador e suas configurações. Você pode exibir as strings de especificação incorporadas do compilador usando o --dumpspecs
bandeira:
g++ --dumpspecs
Isso lhe dará uma visão geral básica de seus recursos e diferentes opções.
Para realizar uma compilação básica usando g++, use o seguinte formato:
g++ [file]
Se tivermos um arquivo chamado “main.cpp”, por exemplo, podemos compilá-lo digitando o seguinte:
g++ main.cpp
O arquivo executável compilado é denominado “a.out” por padrão.
Execute-o digitando o seguinte:
./a.out
Se você deseja especificar o nome do arquivo executável compilado, faça isso usando o -o
bandeira:
g++ -o [name] [file to compile]
Digamos que você queira especificar o nome do arquivo executável como “principal”. Você digitaria o seguinte:
g++ -o main main.cpp

Se você deseja vincular arquivos de objetos, faça isso usando o seguinte formato:
g++ -o [compiled file] [obj1.o] [obj2.o]
Se, por exemplo, você deseja compilar os arquivos objeto “object-1.o” e “object-2.o” em um arquivo executável “principal”, digite o seguinte:
g++ -o main object-1.o object-2.o
Se você deseja especificar um diretório raiz, onde bibliotecas e cabeçalhos podem ser encontrados, use o --sysroot
bandeira:
g++ -o [name] --sysroot [directory] main.ccp
Usando “-Wall” para mostrar mensagens de aviso
Às vezes, é útil para o seu compilador mostrar todas as mensagens de aviso ao compilar o código. Felizmente, o g++ possui essa funcionalidade incorporada e está pronta para ser usada.
Para mostrar todas as mensagens de aviso, use o -Wall
flag (observe o “W” maiúsculo):
g++ -o main main.cpp -Wall
Criando uma biblioteca estática
Criar bibliotecas é uma parte tão importante do desenvolvimento de software quanto escolher o editor de código certo. Com alguns truques, como o ar
comando, você pode compilar facilmente uma biblioteca usando g++.
Comece compilando um arquivo objeto:
g++ -o obj.o main.cpp
A seguir, use o ar
utilitário com “rcs” para criar um arquivo (“.a”):
ar rcs archive.a obj.o
Finalmente, use-o com g++:
g++ -o final example.cpp archive.a
perguntas frequentes
1. Posso usar esta ferramenta para compilar arquivos .c?
Tecnicamente, você pode. No entanto, o gcc
O utilitário é mais adequado para isso, pois o g++ deve ser principalmente um compilador C++. Além disso, o g++ tratará os arquivos .c como arquivos C++ de qualquer maneira.
Se você quiser usar g++ para compilar arquivos .c, simplesmente use o -c
bandeira:
g++ -c [example.c] -o example

2. Por que não devo usar o GCC apenas como um compilador C++?
Você pode muito bem usar gcc
como um compilador C++. No entanto, g++ é na verdade uma adaptação de gcc
que é mais focado em C++. Assim, oferece algumas funcionalidades e recursos adicionais para programadores que trabalham com código C++.
3. Qual é a versão mais recente?
A versão mais recente do g++ parece ser 11.2.0 no primeiro trimestre de 2022. Foi lançada em julho de 2021.