Execution du code c sous linux

MMahou -  
mamiemando Messages postés 33869 Date d'inscription   Statut Modérateur Dernière intervention   -
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.
A voir également:

4 réponses

asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
Salut,

A t-il les droits nécéssaire à l'execution ?

Tentes un chmod u+x bonjour.bin et réexécute ton programme.
0
MMahou
 
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.
0
hssissen Messages postés 844 Date d'inscription   Statut Membre Dernière intervention   50
 
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!
0
hssissen Messages postés 844 Date d'inscription   Statut Membre Dernière intervention   50
 
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.
0
MMahou
 
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.
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Salut MMahou,

Peut-tu poster ton code (s'il n'est pas trop long) ?

Dal
0
mamiemando Messages postés 33869 Date d'inscription   Statut Modérateur Dernière intervention   7 902
 
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).
0