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.
A voir également:
- Execution du code c sous linux
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Linux reader - Télécharger - Stockage
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.
A t-il les droits nécéssaire à l'execution ?
Tentes un chmod u+x bonjour.bin et réexécute ton programme.
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.
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!
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.
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.
Je te donne le truc complet et toi tu vérifies où tu t'es trompé :
Et exécute :
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 :
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).
#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).