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?

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top