![Uilian Ries Uilian Ries](//static.vivaolinux.com.br/imagens/fotos/31747477cd018.jpg)
uilianries
(usa Linux Mint)
Enviado em 26/10/2016 - 12:55h
Suponhamos que você possua a seguinte estrutura de diretórios no seu projeto:
projeto/
.... /src
.......|- main.c
.......|- foo.c
.......|- foo.h
Onde cada arquivo é representado da seguinte maneira:
// foo.h
#ifndef FOO_H
#define FOO_H
typedef struct foo {
int bar;
} foo_t;
void print(const foo_t* foo);
#endif
// main.c
#include "foo.h"
int main(void) {
foo_t foo = {42};
print(&foo);
return 0;
}
// foo .c
#include "foo.h"
#include <stdio.h>
void print(const foo_t* foo) {
printf("Valor de foo: %d\n", foo->bar);
}
Para construir, você deverá informar ao compilador todas as implementações utilizadas:
$ gcc main.c foo.c -o foo-app
Esta linha diz para o GCC incluir os arquivos
foo.c e
main.c, para gerar a saída
foo-app
O header não é necessário incluir na linha de compilação, pois a diretiva #include já resolve a inclusão do mesmo.
--
Uilian Ries
Linux Counter: 521986