[prog-compil-link-execution en C, sous linux]

Résolu
ninjazen Messages postés 6 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Salut tout le monde !
GRAND MERCI de bien vouloir m'aider !
Mon problème est de savoir comment arrrive-t-on à compiler et exécuter (build all) un prog écrit en langage C ou C++ sous 'LINUX Mandrake10.1' ; L'édition pouvant se faire d'après ce que j'ai remarqué sous n'importe quel éditeur de texte (Kwrite,...) , étant donné que d'après certains , le compilateur C (C++) est fourni en standard avec LINUX et UNIX . J'ai essayé d'exécuter des 'Fichier.C' et 'Fichier.cpp' sous LINUX mais en vain ! Et ce en exécutant la commande 'cc Fichier.c(pp)' !!!
P.S: Je trouve que les efforts fournis par tous ceux qui partagent leur 'temps' et leur 'savoir' si genéreusement avec les autres à travers ce site marveilleux méritent les respects les plus profonds !!

7 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    gcc -W -Wall -o plop.exe plop.c
    g++ -W -Wall -o plop.exe plop.cpp

    Note qu'il n'y a que rarement un seul fichier c/c++ mais aussi plein de modules d'où l'interêt de faire un makefile.

    Par exemple si tu télécharges des sources d'un programme, tu ne tapes jamais de ligne avec des gcc ou g++ mais :
    ./configure
    make
    make install

    (les g++/gcc ou autres sont fait durant le make, qui appelle le makefile)
    0
  2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut Nijazen, Mamiemando,

    Juste une précision sur l'exemple donné par Mamiemando qui indique l'extension ".exe" (sans doutes pour te permettre de mieux identifier où est spécifié le nom de l'exécutable).

    gcc -W -Wall -o plop.exe plop.c

    Sous Linux, l'extension ".exe" n'est pas requise (et n'est pas utile). Seules comptent les permissions d'exécution, qui sont réglées par le linker dans ce cas. En résumé :

    gcc -W -Wall -o plop plop.c

    suffit.

    Pour exécuter le fichier "plop", il faudra taper, à partir du répertoire courant :

    ./plop

    Pour voir les permissions du fichier tu tapes :

    ls -l plop

    Tu verras qu'il comporte une ou plusieurs indications "x" qui indiquent le caractère exécutable.

    Dal
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Oui tu as raison de préciser Dal :p En fait il faut bien comprendre qu'une extension n'a aucun sens réel, c'est juste par soucis de lisibilité qu'on en mets une.

    C'est comme sous windows, les extensions permettent d'associer un fichier et une application, mais rien ne t'empêche d'ouvrir des fichiers avec une autre application (par exemple un son avec un bloc notes). Le résultat est rarement très élégant, mais c'est pour bien insister qu'un fichier n'est jamais qu'une suite de 0 et de 1.

    Sous linux, les exécutables on en fait rarement une extension, et quand ils en ont une c'est souvent .bin :p Bon moi je mets .exe mais ça n'engage que moi ;) Si tu veux mettre .plop il n'y a pas de pb ;)

    L'important pour un exécutable... c'est d'avoir les droits en exécution :p
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ninjazen Messages postés 6 Statut Membre
     
    Très GRAND MERCI les gars !
    C'est vraiment sympa !!! ;)
    à bientôt , ninjazen .
    0
  6. entier
     
    Bonsoir à tous,

    est ce que quelqu'un pourrais m'indiquer comment en utilise les options -l et -L pour le linkage d'un programme sous Linux (UBUNTO).
    0