Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come compilare i codici C nel Makefile

Un programmatore può compilare o C + + file di origine C a mano piuttosto semplice , a patto che il progetto non è troppo grande . Ma la compilazione di grandi quantità di file sorgente manualmente diventa tedioso ed è soggetto ad errore . Inoltre , molti progetti C richiedono la compilazione avvenga in un certo ordine , in modo che le dipendenze tra i file vengono soddisfatte . Programmatori quindi utilizzare makefile per gestire la compilazione di codice sorgente in progetti più grandi . Makefile lavorare con il comando "make " per definire come e quando i file C in un programma vengono compilate . Cose che ti serviranno
Linux
GNU C Compiler ( GCC ) economici Mostra più istruzioni
1

creare un Makefile per compilare un file sorgente . Supponendo che un file sorgente C ( denominata " ciao.c ") e un file di intestazione C ( denominata " hello.h " ) esiste, creare un file nella stessa directory di nome " Makefile ". In makefile , inserire le seguenti dichiarazioni:

hello.o :

gcc hello.cpp

eseguire "make" dal terminale . Questo dovrebbe compilare ciao.c in un file "* . Out" .
2

Utilizzare un makefile per gestire una dipendenza . Nel makefile , modificare la voce per assomigliare questo esempio :

hello.o : hello.h

gcc hello.cpp

Il makefile definisce il " hello.o " indirizzare a dipendere hello.h . Se hello.h esiste, quindi il comando per compilare hello.cpp eseguirà .
3

Utilizzare il makefile per compilare più dipendenze . Si supponga ora che un altro file , " goodbye.c " esiste nella stessa directory di " hello.c . " Modificare il makefile per dimostrare che hello.o dipende dal file di goodbye.c :

hello.o : goodbye.o

gcc hello.cpp

addio. o:

gcc goodbye.c

In questo esempio , hello.o richiesto goodbye.o . Quindi , il primo makefile compila goodbye.c per creare goodbye.o , e poi hello.o avrà la sua dipendenza incontrato .

 

Programmazione © www.354353.com