MC102 - Algoritmos e Programação de Computadores

Turmas KLMN - Primeiro Semestre de 2016

Voltar à pagina inicial da disciplina

Compilando múltiplos arquivos no Code::Blocks


Funções

Nem sempre é viável escrever um programa inteiro dentro da função main(). Muitas vezes, outras funções devem ser utilizadas para, entre outros motivos, evitar repetição de código e facilitar a leitura e a manutenção do código.

As funções são estruturas da linguagem que agrupam um conjunto de comandos. Tais comandos são executados quando a função é chamada. Quando executamos um programa, por exemplo, a primeira função chamada é a main().

Podemos dividir o programa em funções e utilizar, por exemplo, o mesmo arquivo que contém a função main() para escrever o código dessas funções.


Múltiplos arquivos

No entanto, quando implementamos programas grandes, é comum separar o código em vários arquivos (todos com a extensão .c), onde cada arquivo implementa um conjunto de funções relacionadas entre si.

Nesses casos, a função main() deve estar em um único arquivo que, normalmente, se preocupa com a entrada e a saída dos dados enquanto que os outros arquivos implementam funções que serão utilizadas por ele.

Suponha que o arquivo que contém a função main() seja chamado labXX_main.c. Suponha um outro arquivo, labXX.c, que contém funções úteis ao arquivo labXX_main.c.

Para compilar um código organizado dessa forma no terminal, basta passar todos os arquivos na linha de comando para o compilador:

gcc -o labXX labXX.c labXX_main.c

gerando o executável labXX.


Code::Blocks

No Code::Blocks, também é possível compilar um código organizado da forma como descrita acima. Para isso, precisamos criar um projeto.

Abra o Code::Blocks e execute os passos a seguir:

Arquivos já existentes

Se os arquivos com os quais você vai trabalhar já existem, por conveniência, você pode salvá-los no mesmo diretório labXX em que o projeto foi criado. Suponha que salvamos os dois arquivos labXX_main.c e labXX.c nesse diretório.

Com o projeto criado:

Arquivos não existentes

Você também pode adicionar arquivos em branco a um projeto.

Com o projeto criado:

Exemplo da aparência do Code::Blocks

A figura a seguir indica que o projeto labXX (em negrito logo abaixo de “Workspace”) possui três arquivos. Dois deles (labXX_main.c e labXX.c) já existiam e o terceiro (labXX_em_branco.c) está vazio.