#1 Le 26/10/2021, à 16:53
- Yan44
[RÉSOLU] la fonction main n'est pas reconne a l'execution
Bonjour, voila j'ai repris mon ancien pc pour y faire des projet de la fac en c, cependant la méthode main ne fonctionne pas, par exemple pour le cultissime exemple hello world voila ce que j'ai :
#include <stdio.h>
int main() {
printf("jujujuj");
return 0;
}
$ gcc hall.c
~$ ./hall.c
./hall.c: ligne 2: erreur de syntaxe près du symbole inattendu « ( »
./hall.c: ligne 2: `int main() {'
Dernière modification par Yan44 (Le 26/10/2021, à 17:25)
Hors ligne
#2 Le 26/10/2021, à 16:56
- Nuliel
Re : [RÉSOLU] la fonction main n'est pas reconne a l'execution
Bonjour,
Il faut compiler avec gcc, puis lancer l'exécutable (appelé a.out par défaut), pas le code C.
Cela donne en donnant un nom à l'exécutable
gcc hall.c -o hall
./hall
ou
gcc hall.c
./a.out
Dernière modification par Nuliel (Le 26/10/2021, à 16:57)
Hors ligne
#3 Le 26/10/2021, à 16:59
- Yan44
Re : [RÉSOLU] la fonction main n'est pas reconne a l'execution
Merciiii
et aussi les option de gcc (-c -wall -wextra -ansi) ne fonctionne pas , il faut installer un paquet special?
Hors ligne
#4 Le 26/10/2021, à 17:01
- Yan44
Re : [RÉSOLU] la fonction main n'est pas reconne a l'execution
gcc –c –Wall –ansi –Wextra hello.c
gcc: error: –c: Aucun fichier ou dossier de ce type
gcc: error: –Wall: Aucun fichier ou dossier de ce type
gcc: error: –ansi: Aucun fichier ou dossier de ce type
gcc: error: –Wextra: Aucun fichier ou dossier de ce type
Hors ligne
#5 Le 26/10/2021, à 17:06
- Nuliel
Re : [RÉSOLU] la fonction main n'est pas reconne a l'execution
gcc -Wall -Wextra test.c
fonctionne bien, les W sont en majuscule.
Je te conseille de toujours compiler avec -Wall -Wextra, ça ressort plein de problèmes avant de passer du temps à debug.
En même temps, j'en profite pour dire que printf n'est pas le meilleur choix pour afficher hello world: printf est adapté lorsque tu veux remplacer des variables dans une chaîne prédéfinie (qu'on appelle chaîne de format, ou format string en anglais), par exemple
char[] str = "hello";
int i = 5;
printf("%d %s", i, str);
Une fonction plus adaptée serait puts:
puts("Hello world");
Hors ligne
#6 Le 26/10/2021, à 17:10
- nany
Re : [RÉSOLU] la fonction main n'est pas reconne a l'execution
Bonjour,
gcc –c –Wall –ansi –Wextra hello.c gcc: error: –c: Aucun fichier ou dossier de ce type gcc: error: –Wall: Aucun fichier ou dossier de ce type gcc: error: –ansi: Aucun fichier ou dossier de ce type gcc: error: –Wextra: Aucun fichier ou dossier de ce type
– ≠ -
Hors ligne
#7 Le 26/10/2021, à 17:12
- Yan44
Re : [RÉSOLU] la fonction main n'est pas reconne a l'execution
gcc –Wall –Wextra hello.c
gcc: error: –Wall: Aucun fichier ou dossier de ce type
gcc: error: –Wextra: Aucun fichier ou dossier de ce type
chez moi ca marche pas ca prend les options comme si c était de fichier
Hors ligne
#8 Le 26/10/2021, à 17:17
- Nuliel
Re : [RÉSOLU] la fonction main n'est pas reconne a l'execution
Comme l'a dit nany, – et - ce n'est pas la même chose. Tu n'utilises pas le bon tiret (- si j'appuie sur la touche 6 de mon pc portable, AltGr + Maj + ( -> – si je veux un tiret demi cadratin, AltGr + Maj + ’ -> — pour un tiret cadratin), c'est le tiret du 6 qu'il faut
Dernière modification par Nuliel (Le 26/10/2021, à 17:17)
Hors ligne
#9 Le 26/10/2021, à 17:21
- Yan44
Re : [RÉSOLU] la fonction main n'est pas reconne a l'execution
ahhh mince marcii beaucoup
Hors ligne