Como compilar usando makefiles :::


Construir um makefile (arquivo chamado makefile) como em:

-------------->

CC = gcc

OBJECTS = InitSem.o    P.o    V.o

prog:         $(OBJECTS);  \
                   ar     -r   libproj.a    $(OBJECTS);    \
                   ranlib     libproj.a
 

<--------------

Em que InitSem.c , P.c e V.c  seriam arquivos contendo as funções InitSem(sem,value), P(proc,sem) e V(sem).
Ao executar-se o comando make seriam compilados os conteúdos desses arquivos e criada uma biblioteca chamada libproj.a (se a compilação for bem sucedida) e com isso o programa poderia ser testado usando-se um outro arquivo, contendo a função main(), que teria o código de teste do programa.
A compilação desse arquivo (teste.c por exemplo) seria feita dessa forma:

gcc  -o  executa   teste.c   -L.  -lproj

Além disso, as estruturas de dados deveriam estar em um arquivo separado (estruturas.h por exemplo), que deve ser incluído por todos os demais arquivos a serem compilados (com #include "estruturas.h" nesse caso).

Outro aspecto a considerar é que em Unix não existe carregamento antecipado de bibliotecas. Assim, se usamos a biblioteca matemática ou a de threads devemos incluir tais bibliotecas na linha de comando, como em

gcc  -o  executa   teste.c   -L.  -lm -lpthread

 
 
DISCLAIMER
 
 
O conteúdo desta página é de minha total responsabilidade, não representando o pensamento ou posições da UNESP.