Red Hat Training

A Red Hat training course is available for RHEL 8

2.3. Construindo software a partir da fonte

Esta parte descreve como construir software a partir do código fonte.

Para software escrito em idiomas compilados, o código fonte passa por um processo de compilação, produzindo código de máquina. Este processo, comumente chamado de compilação ou tradução, varia para diferentes idiomas. O software construído resultante pode ser executado, o que faz com que o computador execute a tarefa especificada pelo programador.

Para software escrito em idiomas de interpretação bruta, o código fonte não é construído, mas executado diretamente.

Para software escrito em idiomas interpretados por bytes, o código fonte é compilado em código byte, que é então executado pela máquina virtual do idioma.

2.3.1. Código Nativamente Compilado

Esta seção mostra como construir o programa cello.c escrito na linguagem C em um executável.

cello.c

#include <stdio.h>

int main(void) {
    printf("Hello World\n");
    return 0;
}

2.3.1.1. Construção manual

Se você quiser construir o programa cello.c manualmente, use este procedimento:

Procedimento

  1. Invocar o compilador C da Coleção de Compiladores GNU para compilar o código fonte em binário:

    gcc -g -o violoncelo cello.c
  2. Executar o binário de saída resultante cello:

    $ ./cello
    Hello World

2.3.1.2. Construção automatizada

O software de grande escala geralmente usa a construção automatizada que é feita através da criação do arquivo Makefile e, em seguida, executando o utilitário GNU make.

Se você quiser usar o edifício automatizado para construir o programa cello.c, use este procedimento:

Procedimento

  1. Para criar um edifício automatizado, crie o arquivo Makefile com o seguinte conteúdo no mesmo diretório que cello.c.

    Makefile

    cello:
    	gcc -g -o cello cello.c
    clean:
    	rm cello

    Observe que as linhas sob cello: e clean: devem começar com um espaço de tabulação.

  2. Para construir o software, execute o comando make:

    $ make
    make: 'cello' is up to date.
  3. Como já existe uma construção disponível, execute o comando make clean, e depois execute novamente o comando make:

    $ make clean
    rm cello
    
    $ make
    gcc -g -o cello cello.c
    Nota

    Tentar construir o programa depois de outra construção não tem nenhum efeito.

    $ make
    make: 'cello' is up to date.
  4. Executar o programa:

    $ ./cello
    Hello World

Agora você compilou um programa tanto manualmente quanto usando uma ferramenta de construção.