IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Fichier de commande pour la compilation d'un programme en C


Sujet :

C

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juin 2011
    Messages : 28
    Points : 14
    Points
    14
    Par défaut Fichier de commande pour la compilation d'un programme en C
    Bonjour,

    Y a t il quelqu'un qui pourrait m'expliquer comment créer un fichier de commande pour compiler un programme en C sous Linux.

    Je vous remercie d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Tu cherches quoi ?
    Un makefile ?

    Tu n'as qu'un fichier à compiler ?
    Dans ce cas tu peux essayer simplement pour compiler et exécuter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gcc ton_fichier.c
    ./a.out
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Avant de poster une telle question, une petite recherche sur Developpez.com suffit : http://gl.developpez.com/tutoriel/outil/makefile/


    Je remplacerais gcc ton_fichier.c par gcc ton_fichier.c -Wall

  4. #4
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juin 2011
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Merci, je savais pas qu'on l'appelait makefile

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Citation Envoyé par --Peace-- Voir le message
    Merci, je savais pas qu'on l'appelait makefile
    Attention : un makefile, c'est un fichier qui respecte une syntaxe précise et qui est fait pour être analysé par l'outil « make » en particulier.

    Tu peux toujours écrire un script Shell sans t'ennuyer avec make, bien sûr, mais celui-ci reste quand même ce qu'il y a de plus adapté pour faire ce que tu veux faire.

  6. #6
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    mais celui-ci reste quand même ce qu'il y a de plus adapté pour faire ce que tu veux faire.
    D'autant plus qu'il dépend peu de l'environnement. Il s'adapte très facilement de Linux à Windows.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  7. #7
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Points : 380
    Points
    380
    Par défaut
    salut !

    je ne suis pas d'accord sur l'utilisation de make pour de petits projets.
    les fichiers de commandes ne sont pas portables entre windows et linux, mais tant qu'on est capable de gérer les dépendanes et l'ordre des compilations ils sont plus simples à écrire.
    surtout quand les fichiers qu'on doit compiler ne sont pas exempt d'erreur.

    si tu veux écrire des libraries portables, que tu maitrises (un peu) m4 et awk, alors lance-toi dans la fabrication de makefiles.

    A+
    Don't want money. Got money. Want admiration.
    (A tribute to SSG)

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par anacharsis Voir le message
    je ne suis pas d'accord sur l'utilisation de make pour de petits projets.
    les fichiers de commandes ne sont pas portables entre windows et linux, mais tant qu'on est capable de gérer les dépendanes et l'ordre des compilations ils sont plus simples à écrire.
    Oui et non.. De ce que j'ai vu, Dev-C++ et CodeBlock ont la même syntaxe, simplement dans des panneaux.. Si on a fait un makefile, un petit copié-collé au bon endroit et ça marche, non ??

    D'autant plus que le "non-make" est vraiment spécifique à Windows (et encore, sans cygwin)


    Citation Envoyé par anacharsis Voir le message
    si tu veux écrire des libraries portables, que tu maitrises (un peu) m4 et awk, alors lance-toi dans la fabrication de makefiles.
    pourquoi m4 et awk ????

    Un simple modèle qu'on adapte est aisé, non ???
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  9. #9
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Points : 380
    Points
    380
    Par défaut @souviron34
    tu as raison, mais je ne fais que de petits projets ...

    le dernier était une tentative de portage de la libzip-0.10 pour les compilateurs que j'utilise sous windows. je ne peux pas dire que ce soit une réussite, malgré la lecture de pas mal de makefile(s).
    pourquoi m4 et awk ????
    ce sont les outils utilisés dans la chaîne de compilation du package (configure, make, install) pour mingw (sous msys).

    ma librarie a trop de bugs pour être utilisable (pour l'instant).

    A+
    Don't want money. Got money. Want admiration.
    (A tribute to SSG)

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut @anarcharsis
    Citation Envoyé par anacharsis Voir le message
    ce sont les outils utilisés dans la chaîne de compilation du package (configure, make, install) pour mingw (sous msys).
    ok pour configure, make, et install, mais je ne vois pas l'usage de m4 ou awk..

    Si tu veux, envoie-moi en MP (ou mail) ton truc et je t'indiquerais ce que je ferais... (si je pexx )
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  11. #11
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Salut,

    Pour les petits trucs en c j'ai un makefile tout prêt de base. Il produit un exécutable dont le nom est le nom du répertoire qui contient le Makefile.
    Il s'attend à trouver les sources dans un sous-répertoire nommé src. Il utilise gcc pour déterminer les dépendances entres fichiers, les compile et les lie ; les fichiers produits le sont dans un répertoire Debug ou Release suivant les options sélectionnées. Évidemment prévu pour environement GNU/linux, reste portable dans une certaine mesure. Il y a un exemple d'un tel makefile dans le générateur de combinaisons que j'ai mis à disposition dans les sources.
    Pour mes pets projetcs en c/c++ plus conséquents, j'ai tendance à utiliser les autotools de GNU ; là j'ai un template de base que j'adapte au fur et à mesure ; permet aussi de faire des cross compil assez aisément, la gestion des bibliothèques n'est pas complexe outre mesure.
    Pour les autres langages j'utilise simplement les outils fournis et généralement accessibles via l'IDE (principalement sous windows).

    Le tout est de trouver un bon équilibre entre ne pas réinventer la roue à chaque fois, ni à utiliser un bazooka pour tuer une mouche.

  12. #12
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Citation Envoyé par anacharsis Voir le message
    tu as raison, mais je ne fais que de petits projets ...

    le dernier était une tentative de portage de la libzip-0.10 pour les compilateurs que j'utilise sous windows.
    Si tu veux faire ça, regarde dans le forum gtk+, on m'a dit comment faire.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  13. #13
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Points : 380
    Points
    380
    Par défaut
    merci troumad, merci souviron34 !

    le portage que je tente actuellement est pour tiny c compiler (mais celui pour mingw est tout aussi buggé).
    si j'avance significativement dans cette direction (pour l'instant je compile et je linke sans erreur, mais la lib statique se perd silencieusement probablement dans des appels à la dll zlib) je vous donnerai des nouvelles avant de passer à mingw.

    A+
    Don't want money. Got money. Want admiration.
    (A tribute to SSG)

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/03/2008, 15h01
  2. demande d'aide pour la compilation d'un programme
    Par rioux dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 07/12/2006, 13h35
  3. [DOS] Commande pour écrire dans un fichier texte
    Par Jeff87-01 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 28/03/2006, 01h04
  4. commande pour trouver un fichier sur le disque dur...
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 11/11/2005, 00h10
  5. Commande pour analyser un fichier avec lex et yacc
    Par gRaNdLeMuRieN dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 13/09/2005, 19h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo