logo

GCCLinux

No Linux, o GCC significa Coleção de compiladores GNU . É um sistema compilador para várias linguagens de programação. É usado principalmente para compilar os programas C e C++. Leva o nome do programa fonte como argumento necessário; argumentos rest são opcionais, como depuração, aviso, arquivo de objeto e vinculação de bibliotecas.

GCC é um componente central do conjunto de ferramentas GNU. Vários projetos de código aberto são compilados usando o GCC, como o kernel Linux e ferramentas GNU.

É distribuído sob a GPL (General Public License). A primeira versão, CGC 1.0 , foi lançado em 1987. Era apenas para a linguagem de programação C, mas no mesmo ano foi estendido para a linguagem de programação C. Linguagem de programação C++ . Posteriormente foi desenvolvido para outras linguagens de programação como Objective-C Objective-C++ Fortran Java , Ada, Vá e muito mais. Sua versão mais recente possui uma implementação muito aprimorada das linguagens de programação.

É o parceiro oficial do GNU OS; portanto, foi adotado como compilador padrão dos sistemas baseados em Linux.

programação c de matriz de estrutura

Componentes do GCC

GCC é uma ferramenta portátil e pode ser executada em vários sistemas operacionais. Além disso, pode ser portado para janelas usando algumas ferramentas como Cygwin, MinGW e MinGW-W64 . Por ser um componente chave do conjunto de ferramentas GNU, contém os seguintes componentes para desenvolvimento de aplicativos e sistemas operacionais:

Coleção de compiladores GNU (GCC): É um conjunto de compiladores para muitas linguagens, como C/C++ e Objective-C/C++.

Marca GNU: É uma ferramenta de automação usada para compilar e construir aplicativos.

GNU Binutils: É um conjunto que contém ferramentas utilitárias binárias, como vinculador e montador .

Depurador GNU (GDB). É usado para depurar os aplicativos.

Ferramentas automáticas GNU: É um sistema de construção que contém algumas ferramentas utilitárias como Autoconf, Autoheader, Automake e Libtool.

Bisonte GNU: É um gerador de analisador como lex e yacc.

Processo do compilador GCC

O GCC compila e torna executável um programa nas quatro etapas a seguir:

GCCLinux

Pré-processando: Nesta etapa, o pré-processador GNU (cpp.exe) cria um arquivo intermediário contendo o código-fonte. O pré-processador inclui os cabeçalhos (#include) e expande as macros (#define). Considere o comando abaixo:

 cpp hello.c > hello.i 

O comando acima criará um arquivo intermediário 'hello.i.'

Compilação: Nesta etapa, o código-fonte pré-processado é compilado em código assembly para um processador específico.

 gcc -S hello.i 

O comando acima criará um arquivo assembly 'hello.s.' A opção '-s' é usada para especificar a produção do código assembly em vez do código objeto.

Conjunto: O código assembly é convertido em código de máquina. Ele criará um arquivo objeto 'hello.o.'

 as -o hello.o hello.s 

Vinculador: O Linker (ld.exe) é a etapa final do processo do compilador. Ele vincula o código objeto ao código da biblioteca e produz um arquivo executável.

 ld -o hello.exe hello.o 

O comando acima criará um arquivo executável ‘hello.exe’.

Instalação do GCC no Linux

Por padrão, ele vem com a maioria das distribuições Linux. Podemos verificar isso executando o comando abaixo:

 gcc -version 

O comando acima exibirá a versão instalada da ferramenta GCC. Se não estiver instalado, siga as etapas abaixo para instalá-lo:

Passo 1: Atualize a lista de pacotes.

Para atualizar a lista de pacotes, execute o seguinte comando:

 sudo apt update 

Irá pedir a senha administrativa do sistema, digite a senha. Ele começará a atualizar o pacote do sistema. Considere o instantâneo de saída abaixo:

GCCLinux

Passo 2: Instale o pacote build-essential.

senão java

Ele contém vários pacotes, como gcc, g++ e utilitário make. Execute o comando abaixo para instalá-lo:

 sudo apt install build-essential 

O comando acima instalará os pacotes necessários para o utilitário GCC. Agora podemos usar o utilitário GCC em nossa máquina. Considere o instantâneo de saída abaixo:

GCCLinux

Passo 3: Verifique a instalação.

Para verificar a instalação, execute o comando gcc -version da seguinte forma:

 gcc --version 

Ele exibirá a versão instalada do utilitário GCC. Para exibir detalhes mais específicos sobre a versão, use a opção '-v'. Considere a saída abaixo:

GCCLinux

Aqui, instalamos com sucesso o utilitário GCC. Vamos entender como usá-lo. Criaremos e executaremos alguns programas c usando GCC.

Execute o primeiro programa C pelo gcc

Crie um básico programa c 'Olá Mundo!'. Crie um arquivo 'hello.c' e coloque o código abaixo nele:

 #include int main() { printf('Hello, world!
'); return 0; } 

Agora, compile o hello.c da seguinte maneira:

 gcc hello.c 

Se executarmos diretamente o hello.c, ocorrerá o erro. Torne-o executável, o arquivo executável padrão para o sistema Linux é a.out. Para executar o arquivo, execute o comando chmod da seguinte forma:

 chmod a+x a.out 

Agora, execute o programa c como:

 ./a.out 

Considere a saída abaixo:

GCCLinux

Exemplos de comandos GCC

Alguns exemplos úteis do comando gcc são os seguintes:

    Especifique o nome do arquivo do objeto

Por padrão, o comando gcc cria o arquivo objeto como 'a.fora .' Se você quiser alterar o nome do arquivo de saída padrão, use o '-o' opção.

Vamos executar o comando básico do gcc:

 gcc hello.c 

O comando acima irá gerar o arquivo objeto 'a.out.' Para especificar o nome do arquivo do objeto, execute o comando da seguinte forma:

 gcc hello.c -o hello 

Ele irá gerar o arquivo de saída 'olá'. Considere a saída abaixo:

GCCLinux
    Habilite todos os avisos

Para habilitar todos os avisos na saída, use o '-Parede' opção com o comando gcc. Vamos criar uma variável na função principal de hello.c. Considere o código abaixo:

olá.c:

 #include int main() { int a; printf('Hello, world!
'); return 0; } 

Se compilarmos o código acima usando a opção -Wall. Isso lançará os avisos. Execute o comando abaixo para compilar o arquivo:

 gcc -wall hello.c 

O comando acima exibirá os avisos. Considere a saída abaixo:

GCCLinux
    Produza a saída gradual do processo de compilação

Só podemos produzir a saída gradual do processo de compilação.

Produza a saída do pré-processador

Podemos produzir apenas a saída do pré-processamento usando a opção '-E'. Considere o comando abaixo:

 gcc -E hello.c > hello.i 

Do comando acima, um arquivo 'olá.eu' que contém saída pré-processada é gerada. Considere a saída abaixo:

GCCLinux

Produza o código assembly

Para produzir o código assembly, execute o comando com a opção '-S'. Considere o comando abaixo:

 gcc -S hello.c > hello.s 

O comando acima irá gerar o 'hello.s.' arquivo que contém o código assembly. Considere a saída abaixo:

GCCLinux

Produza o código compilado

Shreya Ghoshal

Podemos produzir apenas o código compilado usando a opção '-C'. Considere o comando abaixo:

 gcc -C hello.c 

O comando acima irá gerar um arquivo 'a.out' contendo apenas o código de máquina ou código compilado. Considere a saída abaixo:

GCCLinux

Produza todos os arquivos intermediários do processo de compilação

Podemos produzir todos os arquivos intermediários do processo de compilação usando a opção '-save-temp'. Considere a saída abaixo:

 gcc -save-temps hello.c 

O comando acima irá gerar todos os arquivos intermediários, bem como arquivos executáveis ​​de uma só vez. Considere a saída abaixo:

GCCLinux
    Imprima a saída detalhadamente.

Podemos exibir informações detalhadas de cada etapa realizada pelo comando gcc. Para fazer isso, execute o comando com a opção ‘-v’.

 gcc -W -v hello.c 

Considere o instantâneo de saída abaixo:

GCCLinux

Discutimos alguns exemplos mais úteis do comando gcc. Como o comando gcc oferece um grande número de opções, você pode ficar preso em qualquer lugar enquanto o usa. Vamos ver como obter ajuda sozinho no terminal.

Manual do GCC

Se você ficar preso em algum lugar ao usar o comando gcc, poderá obter ajuda do seu terminal. Para acessar o manual a partir da linha de comando, execute o comando man da seguinte forma:

 man gcc 

O comando acima exibirá o manual que contém uma descrição e lista das opções suportadas com uma breve descrição. Considere o instantâneo de saída abaixo:

GCCLinux

você pode rolar a saída para ler mais. Pressione a tecla 'h' para obter ajuda e q para sair do manual e voltar ao terminal.