Crea uno strumento di comando dal programma C
-
28-10-2019 - |
Domanda
Se voglio realizzare uno strumento di comando usando makefile per, dire questo programma C:
# include<stdio.h>
int main()
{
printf("Hello World!");
return 0;
}
Non ho esperienza precedente con i comandi di makefile o Linux shell. Appena iniziato. Qualcuno può dirmi come farlo?
Soluzione
Non hai davvero bisogno di un makefile per un singolo file di origine come questo - basta compilarlo in questo modo:
$ gcc -Wall foo.c -o foo
Se vuoi davvero un makefile, allora puoi fare qualcosa del genere:
#
# makefile
#
foo: foo.c
gcc -Wall foo.c -o foo
Quindi dalla riga di comando potresti dire:
$ make foo
o anche solo
$ make
Altri suggerimenti
Non ho a portata di mano una scatola unix, ma ISTR che crea (1) ha alcune regole predefinite che dovrebbero permetterti di digitare semplicemente make hello
E troverà Hello.c e genererà un binario chiamato "Hello". Naturalmente, per qualcosa di più complicato, ti consigliamo di leggere su Make (1) o i suoi discendenti, man make
è un buon punto di partenza.
Makefile:
hello: hello.c
gcc -Wall -o hello hello.c
$ make hello
$ ./hello
Potresti beneficiare di questo.
Inoltre, al tuo programma manca una nuova linea. Probabilmente volevi stampare "Hello World!\n"
.
$cat makefile
main:main.c
gcc -o main main.c
clean:
rm main