Execution du code c sous linux
J'ai crée un simple programme en lagace C sous linux en utillisant un ficher bonjour.c (via l'utilisation de la commande vi), puis je l ai enregistré sous le nom bonjour.c
1) Je l ai compilé avec : gcc -c bonjour.c
======> d'ou la creation du l'objet bonjour.o
2)Pour créer le l'executable : gcc -o bonjour.bin bonjour.o
Alors quand je verifie ds mon fichier je te trouve la presence des trois fichiers bonjour.c, bonjour.o, et bonjour.bin.
LE PROBLEME : Quand je veux executter le programme en tappant:
./bonjour.bin rien ne se passse, sachant que je dois avoir le message a a fficher dans mon programme qui : salut tout le monde alors pouvez vous me dire ce que je dois faire pour voir le resultat de mon programme.
Merci pour tous.
Cordialement.
1) Je l ai compilé avec : gcc -c bonjour.c
======> d'ou la creation du l'objet bonjour.o
2)Pour créer le l'executable : gcc -o bonjour.bin bonjour.o
Alors quand je verifie ds mon fichier je te trouve la presence des trois fichiers bonjour.c, bonjour.o, et bonjour.bin.
LE PROBLEME : Quand je veux executter le programme en tappant:
./bonjour.bin rien ne se passse, sachant que je dois avoir le message a a fficher dans mon programme qui : salut tout le monde alors pouvez vous me dire ce que je dois faire pour voir le resultat de mon programme.
Merci pour tous.
Cordialement.
4 réponses
-
Salut,
A t-il les droits nécéssaire à l'execution ?
Tentes un chmod u+x bonjour.bin et réexécute ton programme.-
je viens d'appliquer la commande mais toujours le meme resultat qd je mets ./bonjour.bin rien ne se passe il revient directemrnt sur [root@localhost bin] et qd je crée un autre fichier qui s appelle par exemple mourad et lors de l'execution je met ./bonjour > mourad je trouve le resultat exacte de l'affichage mais moi ce que je veux à ce que la sortie sera l'ecran donc je veux que le resultat sera afficher sur l 'ecran directemnt.Merci bien de votre attention.
-
j'ai peur de dire une con***, mais je me demande si ce n'est pas ton .bin qui pose probleme. En tout cas tu n'es pas oblige de mettre une extension, essaie quand meme, mais sinon regarde les packages a l'en tete de ton programme pour les sorties et entrees standars y sont. Tu peux toujours envoyer ton programme, ca nous facilitera la chose!
-
-
Bonjour,
Tu peux compiler en creant en meme temps ton executable avec:
gcc -o fichier_exec bonjour.c
et donner le droit d'execution avec
chmod +x fichier_exec
et executer avec
./fichier_exec
Ca devrait marcher avec ca.-
je viens d'appliquer la commande mais toujours le meme resultat qd je mets ./bonjour.bin rien ne se passe il revient directemrnt sur [root@localhost bin] et qd je crée un autre fichier qui s appelle par exemple mourad et lors de l'execution je met ./bonjour > mourad je trouve le resultat exacte de l'affichage mais moi ce que je veux à ce que la sortie sera l'ecran donc je veux que le resultat sera afficher sur l 'ecran directemnt.Merci bien de votre attention.
-
-
Salut MMahou,
Peut-tu poster ton code (s'il n'est pas trop long) ?
Dal -
Je te donne le truc complet et toi tu vérifies où tu t'es trompé :
#include <stdio.h> #include <stdlib.h> int main(){ printf("Bonjour !\n"); return 0; }Compile :gcc -W -Wall -o bonjour bonjour.c
Et exécute :./bonjour
Au passage
./bonjour > mourad
ca redirige l'écriture sur la sortie standard (la console) vers un fichier, c'est pour ça que tu ne vois rien. Pour t'en convaincre :cat mourad
Si tu veux écrire dans un fichier en plus d'afficher à l'écran, il faut en plus ouvrir un fichier (fopen), écrire (fprintf), et le fermer (fclose).