Compilation/execution programme C sous linux

Résolu
Utilisateur anonyme -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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
Configuration: Linux
Firefox 3.0.7

11 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      Tout à fait, je n'avais même pas lu le code, tout content de pouvoir donner la solution de suite ^^ !
      0
  2. pyschopathe Messages postés 2053 Statut Membre 137
     
    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
  3. Utilisateur anonyme
     
    Merci beaucoup, désolé du dérangement
    A+
    Et vive Linux, pourquoi ne m'y suis-je pas mis avant?...
    0
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      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
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Pardon, il me met
    sh: PAUSE: not found
    0
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      D'accord, je ne comprenais pas ton post précédent ^^ ! Effectivement, l'instruction pause n'existe pas sous nux.
      0
  7. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  8. Utilisateur anonyme
     
    Merci Fiddy pour tes précieuses explications
    Cdt
    Driks
    0
  9. azarthee Messages postés 42 Statut Membre
     
    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
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
      1. bellelady > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        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
  10. toto1983 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   13
     
    Héhé bienvenue dans l'informatique belle lady ;)
    0
    1. bellelady
       
      Ben merci
      mais vous n'avez pas de réponse ;)
      0
  11. toto1983 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   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
    0
    1. bellelady
       
      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
  12. toto1983 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   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 ?
    0
    1. bellelady
       
      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
    2. bellelady
       
      alors toto!!! tu ne peux pas m'aider?? t'as pas pu trouver une solution :(
      0
    3. fofiedelly
       
      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
    4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Salut fofiedelly,
      Teste plutot : gcc toto.c -o toto
      Pour exécuter : ./toto
      Cdlt,
      0