Compilation/execution programme C sous linux [Résolu/Fermé]

Signaler
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
Bonjour,
je veux paraitre noob mais j'ai un problème d'execution de programme C sous Linux
Je développais auparavant avec l'IDE Code blocks sous Windows et je viens de passer à linux, marre de la fenêtre.

J'ai un fichier test.c tout bête, le Bonjour Monde

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  printf("Hello World\n");
  system("PAUSE");
  return 0;
}


pour le compiler je réalise cette commande:
cedric@ubuntu:~/Documents/C$ gcc -o test test.c

J'aimerais maintenant l'executer, mais je n'y arrive pas, même par l'interface graphique,
Si vous pouviez m'aider...
merci d'avance

11 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 688
Salut,
Tout d'abord, déjà tu peux enlever system("PAUSE") qui peut être utile sur Windows mais pas sur linux compte tenu du fait que tu souhaites le lancer en console.
Sinon pour lancer ton programme, teste :
./test

Cdlt
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57931 internautes nous ont dit merci ce mois-ci

Messages postés
1965
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
123
Tout à fait, je n'avais même pas lu le code, tout content de pouvoir donner la solution de suite ^^ !
Messages postés
1965
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
123
Salut, il suffit de te placer dans le répertoire dans lequel se trouve le fichier exécutable et de taper en console
./test
Sachant que le . désigne le répertoire courant, tu tapes donc le chemin vers ton fichier exécutable.

Merci beaucoup, désolé du dérangement
A+
Et vive Linux, pourquoi ne m'y suis-je pas mis avant?...
Messages postés
1965
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
123
Pas de soucis, on a tous de petits problèmes en débutant ^^ !

Content que tu apprécies Linux, profite bien de cette nouvelle expérience ;p

Merci à toi aussi, c'est vrai qu'il ne sert à rien et en plus il me met:
cedric@ubuntu:~/Documents/C$ gcc -o  test  test.c

C'est qu'il n'en a pas besoin, compte tenu qu'on est déjà dans la console?

Pardon, il me met
sh: PAUSE: not found
Messages postés
1965
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
123
D'accord, je ne comprenais pas ton post précédent ^^ ! Effectivement, l'instruction pause n'existe pas sous nux.
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 688
Lorsque tu utilises la commande system, cela va exécuter la commande en appelant /bin/sh -c. Et puisque PAUSE n'est pas une commande issue du monde Linux, /bin/sh t'affiche qu'il ne la connaît pas. D'où le message d'erreur. T'obtiendras la même erreur en tapant directement PAUSE dans la console.

C'est qu'il n'en a pas besoin, compte tenu qu'on est déjà dans la console?
En fait sur windows, la plupart des personnes lancent leur exécutable en double cliquant. Cela va donc créer une console qui se fermera lorsque l'application prendra fin. Et comme cela va très vite, l'utilisateur ne voit pas grand chose. C'est pour cela qu'on utilise system("PAUSE");.
Mais lorsque tu lances en console, la fenêtre ne se fermera pas à la fin du programme. Donc, c'est complètement inutile de mettre un system("PAUSE"); qui de plus nuit à la portabilité.

Merci Fiddy pour tes précieuses explications
Cdt
Driks
Messages postés
36
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
16 janvier 2012

Bonjour, je compile sous linux avec Kate, et je n'arrieva pas a executer, voilà ce que j'ai mon fichier s'appelle ! mimi.c

et ya aucun résultat, je pense que c'est une question de répértoire, je ne sais pas comment entre et sortir, aidez-moi s'il vous plais !! merci

le prg est le suivant :


#include<stdio.h>

main()
{
int i;

for(i=1;i<10000;i++)
printf("bonjour\n");
getch();getch();
}

quand j'introduit :
gcc mimi.c -Wall -o mimi

le compilateur m'ecrit :

bash: gcc : command not found
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 688
Salut,
Linux c'est un peu vague ;-))). Faut plutôt préciser ta distribution, car il en existe tellement. Linux désigne juste le kernel.
Sinon ton erreur vient plutôt du fait que gcc n'est pas installé sur ta distrib.
Il te faut donc l'installer, et tout rentrera dans l'ordre.

Cdlt
>
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016

salut !!

aussi je suis débutante en Linux et j'ai une question qui sera encore bête...
une fois on a exécuté un fichier fortran sous Linux, est ce qu'on peut faire une pause puis reprendre le calcul comme sur windows??

Merci d'avance
Messages postés
205
Date d'inscription
samedi 16 mai 2009
Statut
Membre
Dernière intervention
25 mars 2010
13
Héhé bienvenue dans l'informatique belle lady ;)
Ben merci
mais vous n'avez pas de réponse ;)
Messages postés
205
Date d'inscription
samedi 16 mai 2009
Statut
Membre
Dernière intervention
25 mars 2010
13
héhé c juste

Mais calcul de quoi en fait pasque on sait même pas ce que fais ton fichier en fortran.
C peut être une question bête mais je trouve que ta question est loin d'être précise
c'est un programme qui calcul le champ électromagnétique, c'est une méthode physique (FDTD) .. j'ai pas trouvé de problème ni à le compiler ni à l'exécuter. le calcul tourne mais il est un peut lourd sur le pc donc je m'oblige parfois à l'arrêter (faire une pause) puis le relancer, ceci est faisable sur windows mais je ne sais pas comment faire sur Linux.

voila mon problème :) j'espère que vous l'avez compris
Messages postés
205
Date d'inscription
samedi 16 mai 2009
Statut
Membre
Dernière intervention
25 mars 2010
13
Ok ma jolie c bien de faire appel aux experts pour tes éventuels soucis , on est toujours là pour toi ;D
Soit dit en passant compte tenu de la fin de la journée je vais essayer d'y réfléchir. Tu prépares une année en physique c ça ?
merci :) donc si tu trouve la réponse ça sera parfait pour moi ...
parcontre je suis en doctorat, et c'est la première fois que je travail sur Linux :s
bon a 2main alors
alors toto!!! tu ne peux pas m'aider?? t'as pas pu trouver une solution :(
salut les gars s'il vous plait mi j'ai un probleme j'ai mon fichier test.c :
#include <stdlib.h>
#include <stdio.h>
int main(int argc,char *argv[])
{
printf("salut le monde");
return 0;
}

quand je lance la compil avc la comande gcc -o test.c
On me dit "gcc: erreur fatale: pasde fichier a l'eintree \n Cmpliation termnee) ques ce ke je fais?
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 688
Salut fofiedelly,
Teste plutot : gcc toto.c -o toto
Pour exécuter : ./toto
Cdlt,