Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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,


Yan44 a écrit :
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