Compilation/execution programme C sous linux

Résolu/Fermé
Utilisateur anonyme - 8 mars 2009 à 21:15
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 19 déc. 2011 à 18:30
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

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
8 mars 2009 à 21:19
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
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
8 mars 2009 à 21:21
Tout à fait, je n'avais même pas lu le code, tout content de pouvoir donner la solution de suite ^^ !
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
8 mars 2009 à 21:17
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.
0
Utilisateur anonyme
8 mars 2009 à 21:19
Merci beaucoup, désolé du dérangement
A+
Et vive Linux, pourquoi ne m'y suis-je pas mis avant?...
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
8 mars 2009 à 21:20
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
0
Utilisateur anonyme
8 mars 2009 à 21:21
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
8 mars 2009 à 21:22
Pardon, il me met
sh: PAUSE: not found
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
8 mars 2009 à 21:24
D'accord, je ne comprenais pas ton post précédent ^^ ! Effectivement, l'instruction pause n'existe pas sous nux.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
8 mars 2009 à 21:29
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é.
0
Utilisateur anonyme
8 mars 2009 à 22:15
Merci Fiddy pour tes précieuses explications
Cdt
Driks
0
azarthee Messages postés 36 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 16 janvier 2012
6 déc. 2009 à 00:30
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
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
6 déc. 2009 à 01:29
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
0
bellelady > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
14 déc. 2009 à 15:44
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
0
toto1983 Messages postés 205 Date d'inscription samedi 16 mai 2009 Statut Membre Dernière intervention 25 mars 2010 13
14 déc. 2009 à 15:47
Héhé bienvenue dans l'informatique belle lady ;)
0
Ben merci
mais vous n'avez pas de réponse ;)
0
toto1983 Messages postés 205 Date d'inscription samedi 16 mai 2009 Statut Membre Dernière intervention 25 mars 2010 13
14 déc. 2009 à 16:06
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
0
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
0
toto1983 Messages postés 205 Date d'inscription samedi 16 mai 2009 Statut Membre Dernière intervention 25 mars 2010 13
14 déc. 2009 à 16:58
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 ?
0
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
0
alors toto!!! tu ne peux pas m'aider?? t'as pas pu trouver une solution :(
0
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?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
19 déc. 2011 à 18:30
Salut fofiedelly,
Teste plutot : gcc toto.c -o toto
Pour exécuter : ./toto
Cdlt,
0