Execution du code c sous linux

Fermé
MMahou - 28 juil. 2005 à 17:18
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 29 juil. 2005 à 08:57
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 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
28 juil. 2005 à 17:21
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
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 mercredi 20 juillet 2005 Statut Membre Dernière intervention 9 janvier 2017 50
28 juil. 2005 à 20:53
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 mercredi 20 juillet 2005 Statut Membre Dernière intervention 9 janvier 2017 50
28 juil. 2005 à 18:28
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
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 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
28 juil. 2005 à 20:08
Salut MMahou,

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


Dal
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
29 juil. 2005 à 08:57
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