probleme d'execution de programme C.. [réglé] - C - Programmation
Marsh Posté le 01-03-2007 à 20:15:13
main tout court et non main.exe. Et le chmod +x est inutile.
Marsh Posté le 01-03-2007 à 20:20:09
euh, le -c il devrait pas être là.
Marsh Posté le 01-03-2007 à 20:23:42
malheureusement j'ai essayé aussi...
/home/mic/bin/main: Erreur de format exec(). Binary file not executable
ca fait pareil avec main.o et main.out...
Marsh Posté le 01-03-2007 à 20:26:49
Fais voir le code. Et compile-le au minimum avec -Wall.
Marsh Posté le 01-03-2007 à 20:36:42
voici le code des programmes concernés, ils compilent et (d'habitude) s'executent correctement
main
Code :
|
tab_personne.h
Code :
|
tab_personne.c
Code :
|
j'ai aussi un makefile
Code :
|
la commande make me créé le fichier nommé executable et quand j'ecrit executable dans le terminal j'ai un command not found
Marsh Posté le 01-03-2007 à 21:02:01
le -Wall m'affiche un warning :
main.c: in function 'main' :
main.c:56: warning: control reaches a non-void function
je suis quasiment sûr que j'avais deja ce message lorsque j'ai compilé sur le PC sur lequel j'ai programmé et que ca n'avait pas géné l'execution
sur mon PC, le fichier executable se crée bien aussi, donc je comprend vraiment pas cette erreur command not found...
Marsh Posté le 01-03-2007 à 21:29:51
mic-chan a écrit : le -Wall m'affiche un warning : je suis quasiment sûr que j'avais deja ce message lorsque j'ai compilé sur le PC sur lequel j'ai programmé et que ca n'avait pas géné l'execution sur mon PC, le fichier executable se crée bien aussi, donc je comprend vraiment pas cette erreur command not found... |
Pour l'exécuter, ./ devant l'exécutable. Ton main n'a pas de paramètre (là en l'occurence : void) et il doit retourner un int (return 0; par exemple).
Les scanf() c'est dangereux.
Marsh Posté le 01-03-2007 à 21:35:38
merci il fallait bien mettre ./executable ^_^ j'avais l'habitude de ne pas mettre ./et jusqu'a present ca marchait donc je ne m'etais jamais posé de question la dessus
encore merci ^^
Marsh Posté le 01-03-2007 à 21:37:21
C'est surement parce que jusqu'à présent, "." était dans $PATH
Marsh Posté le 01-03-2007 à 19:51:33
bonjour
j'ai un pti probleme qui me rend fou ce soir... je programme en C sur les PC de mon IUT et tout fonctionne nickel, compilation et execution sur un terminal de linux
j'ai transferer les programmes sur mon propre PC chez moi, j'utilise un terminal de Mandriva, ca compile bien mais par contre pas moyen d'executer...
voici les commandes que j'ai tapé :
gcc -c main.c -o /home/mic/bin/main.exe
chmod +x /home/mic/bin/main.exe(jusque là ca marche)
main.exe
main.exe : Erreur de format pour exec(). Binary file not executable.
voilà donc si quelqu'un pouvait m'aider rapidement.. je sais pas si c'est utile de preciser, j'utilise un terminal csh
Message édité par mic-chan le 03-03-2007 à 13:38:38