Partage
  • Partager sur Facebook
  • Partager sur Twitter

gérer un projet sur linux

compiler plusieurs fichiers sur linux

Sujet résolu
Anonyme
    14 avril 2006 à 15:05:29

    Bonjour !
    Je suis arrivé au chapitre 1 de la partie 2 du cours (la programmation modulaire).
    Je suis sur linux et je compile avec gcc.

    J'ai un mini-projet (juste pour m'entrainer) avec 2 fichiers .c et les 2 fichiers .h contenant les prototypes.

    Dans mon fichier main.c, comment je fais pour appeler mon autre fichier (fonction.c) contenant une fonction que j'appelle dans le main ?
    J'ai essayé ceci :
    #include "fonction.c"

    Et ça marche. Mais c'était juste une intuition, je n'ai lu nul part qu'il fallait faire comme ça.
    PS : j'ai utilisé cette ligne de code pour compiler :
    gcc main.c -o main


    Mais puisque dans le cours de Mathéo il n'y a pas cet appel, je suppose que c'est l'IDE qui s'en charge automatiquement lors de la compilation. Ai-je raison ?

    Donc, puisque je compile avec gcc, comment puis-je assembler plusieurs fichiers lors de la compilation ?

    Merci d'avance et excusez-moi si un post similaire existe déjà, la fonction de recherche n'est pas très précise :-°
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      14 avril 2006 à 15:08:24

      je dirai meme plus ! pas précise!
      oui alors pour appeller les fonction ou je ne sais quoi depuis ton autre .c
      tu utilise

      extern

      ce truc tu le mais avant ta fonction ou autres chose que tu appelle dans le main qu'est situer dans un autre .c (mais dans ton projet!)
      • Partager sur Facebook
      • Partager sur Twitter
        14 avril 2006 à 15:11:47

        Je peux juste te dire que oui l'IDE se charge de rassembler tes fichiers.c automatiquement sans que tu soit obligé de les inclures. Il faut seulement inclure tes .h
        Donc à mon avis pour assembler plusieurs fichiers à la compilations il faut :
        • inclure les .h dans le fichier principal (main.c)
        • mettre tous les fichiers du programme dans un meme dossier.

        Moi en tout cas j'avais fait comme ça.
        Voila ++
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 avril 2006 à 15:27:55

          Dark-Side >
          J'ai essayé ta technique, mais ça ne marche pas.
          J'ai donc remplacé la ligne (que j'avais inventé) :
          #include "fonction.c"

          par :
          #include "fonction.h"

          Mais ça plante lors de la compilation avec cette commande :
          gcc main.c -o main


          charly90 >
          Euh je comprend pas vraiment ce que tu veux dire :euh:
          • Partager sur Facebook
          • Partager sur Twitter
            14 avril 2006 à 15:28:50

            Citation : darkagonik


            Dans mon fichier main.c, comment je fais pour appeler mon autre fichier (fonction.c) contenant une fonction que j'appelle dans le main ?
            J'ai essayé ceci :

            #include "fonction.c"


            Et ça marche.


            Non

            http://www.siteduzero.com/forum-83-32744-245250-je-ne-suis-pas-capable-d-inclure-mes-deux-fichier.html#r245250

            Citation : darkagonik


            Donc, puisque je compile avec gcc, comment puis-je assembler plusieurs fichiers lors de la compilation ?


            Service minimum
            gcc a.c b.c -o out

            Préférable :
            gcc -Wall -Wextra -O2 a.c b.c -o out

            Pour les gros projets, utiliser l'outil de mise à jour 'make'.

            http://mapage.noos.fr/emdel/make.htm
            • Partager sur Facebook
            • Partager sur Twitter
            Music only !
            Anonyme
              14 avril 2006 à 15:44:13

              Merci -ed- :)
              Je vais pouvoir m'attaquer à la suite du cours ;)

              PS : ce tuto ("Compiler avec gcc sous Linux" du SdZ) n'est pas très complet...
              • Partager sur Facebook
              • Partager sur Twitter

              gérer un projet sur linux

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown