Bonjour
Pour pouvoir voir quels sont les caractères
qui sont contenus dans le fichier nomduprogramme
regarde le retour de la ligne de commande suivante :
hd nomduprogramme
Merci.
Ça devrait donner ce qui suit :
michel@debg53sw:~$ hd nomduprogramme
00000000 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e |#include <stdio.|
00000010 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 |h>.#include <std|
00000020 6c 69 62 2e 68 3e 0a 69 6e 74 20 6d 61 69 6e 20 |lib.h>.int main |
00000030 28 29 0a 7b 0a 70 72 69 6e 74 66 28 22 48 65 6c |().{.printf("Hel|
00000040 6c 6f 20 77 6f 72 6c 64 21 22 29 3b 0a 72 65 74 |lo world!");.ret|
00000050 75 72 6e 20 28 30 29 3b 0a 7d 0a |urn (0);.}.|
0000005b
michel@debg53sw:~$
Quelle ligne de commande a été entrée pour lancer cet essai de compilation ?
michel@debtest:~$ mv nomduprogramme{,.c} # Renommer le fichier en y ajoutant le nom d'extension '.c'
michel@debtest:~$
michel@debtest:~$ gcc nomduprogramme.c -o hello # Compiler le fichier 'nomduprogramme.c' en un exécutable qui sera nommé 'hello'
michel@debtest:~$
michel@debtest:~$ ./hello # Lancer l'exécution du programme 'hello' qui vient d'être créé
Hello world!michel@debtest:~$
michel@debtest:~$
Le programme hello s’est bien exécuté,
il a bien affiché ce qu’on lui demandait : le message “Hello world!” sans retour à la ligne,
ce qui fait que le prompt de retour de commande est collé à la suite du message.
Pour qu’il affiche ce même message en terminant l’affichage par un retour à la ligne,
il faudrait changer la ligne de commande d’affichage du message
par :
printf("Hello world!\n")
si le contenu du fichier nomduprogramme
est celui qui est cité dans ton premier message,
alors ce n’est pas un fichier utilisable par la commande make
Comme le contenu du fichier nomduprogramme
ne correspond pas à la syntaxe d’un fichier de type Makefile
le retour de la commande :
make -f nomduprogramme
devait logiquement être :
michel@debtest:~$ make -f nomduprogramme
nomduprogramme:3: *** missing separator. Arrêt.
michel@debtest:~$
J’ai donc créé un fichier Makefile
qui sera utilisable avec la commande make
pour la compilation du fichier nomduprogramme.c
en un exécutable qui sera nommé hello
michel@debtest:~$ cat Makefile # Afficher le contenu du fichier `Makefile`
hello : nomduprogramme.c
gcc nomduprogramme.c -o hello
michel@debtest:~$
On peut maintenant lancer avec la commande make
la compilation du fichier nomduprogramme.c
michel@debtest:~$ make -f Makefile # Lancer la compilation en utilisant le fichier 'Makefile'
gcc nomduprogramme.c -o hello
michel@debtest:~$
NOTE :
Si le nom du fichier à utiliser avec la commande make
est Makefile
il n’est pas nécessaire de le spécifier dans la ligne de commande
=> un simple make
suffira à lancer la compilation en utilisant (par défaut) le fichier nommé Makefile