Insérer un programme dans un autre [ Linux ]

Résolu
Mictik -  
vlmath Messages postés 833 Statut Contributeur -
Bonjour,

J'ai un programme proncipal dans lequel j'ai besoin de faire intervenir d'autre programmes mais je ne sais pas comment les déclarer et comment faire pour qu'ils s'éxécutent. Je programme en C sous linux.

Est-ce que quelqu'un pourrait m'aider svp ?

10 réponses

  1. vlmath Messages postés 833 Statut Contributeur 160
     
    Salut,

    Qu'est ce que tu veux dire exactement par "besoin de faire intervenir d'autre programmes" ?

    Tu veux lancer de programmes du système qui sont déjà compilés ou tu dois juste interger des bouts de codes ?

    @Bientôt
    0
  2. Mictik
     
    En fait je doit programmer la bataille navale. J'ai donc un programme principal. J'aimerais insérer un programme que je fait par exemple un programme qui gère les tirs des 2 joueurs. C'est des bouts de code qui seront compilé en même temps que le main.
    0
  3. vlmath Messages postés 833 Statut Contributeur 160
     
    Alors pour faire ça, tu dois faire un inlcude, comme pour les bibliothèques normales, mais avec des " et pas des < :
    #include "fichier.c"

    Tu pourras utiliser tes fonction comme d'habitude après.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. mictik
     
    salut,

    j'aimerais savoir aussi une chose au niveau de la compilation des programmes. Comment faire pour compiler avec les makefiles si j'ai un fichier principal dans lequel un fichier1 et un fichier2 interviennent. Comment ecrire la ligne de commande sachant que fichier 1 et 2 dépendent du main et si on ajoute un fichier3 qui intervient dans fichier2 ?

    merci d'avance.
    0
  6. vlmath Messages postés 833 Statut Contributeur 160
     
    Personnellement, je ne me fais jamais de makefile

    Pour la compilation, il te suffit de faite la liste des fichiers qui interviennent :
    gcc main.c fichier1.c fichier2.c -o out


    Je n'ai jamais compilé un programme avec des includes qui font à leur tour des includes ... Essaye de mettre uniquement le premier niveau d'include, et si ça ne marche pas, mets la totalité ...
    0
  7. mictik
     
    ok merci pour ta réponse. je vais essayer tout sa.
    0
  8. Mictik
     
    Salut,

    J'ai une fonction affichage.c déclarée comme sa: #include "affichage.c" mais je n'arrive pas à la faire intervenir dans le programme. Elle doit afficher un tableau. Normalement j'ai pas d'argument à mettre ? Et pourquoi le compilateur me dit:

    redefinition of `int main()`
    `int main prevously defined here`


    et il me dit que ma fonction affichage n'est pas déclaré.

    Que faire ?
    0
  9. vlmath Messages postés 833 Statut Contributeur 160
     
    C'est normal, en C tu ne peux pas mettre plusieurs fois la même fonction.

    Tu devrais te faire une bibliothèque avec les fonctions qui sont en commun, et les appeler dans tes deux programmes.
    0
  10. Mictik
     
    Salut,

    J'aurais une autre question mais sur l'interface graphique ce coup là. Comment je peut faire une interface graphique en C? Elle se fait dans un programme à part? On la déclare comment ? J'ai aucune idée de comment sa se fait. Voila

    merci d'avance.
    0
    1. vlmath Messages postés 833 Statut Contributeur 160
       
      Salut,

      Tu peux le faire dans deux fichiers séparer, mais c'est pas obligatoir ...

      Le plus simple, ça serait que tu cherches sur internet une source, et que tu regardes comment elle fonctionne ...
      C'est des sources qui sont généralement relativement longues, mais le model est toujours le même ... En tout cas, tu peux tout faire avec certains models.

      @Bientôt
      0