Insérer un programme dans un autre [ Linux ]

Résolu
Mictik -  
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   -
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

vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   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
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
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   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
Mictik
 
ok merci. je vais essayer sa
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   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
mictik
 
ok merci pour ta réponse. je vais essayer tout sa.
0
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
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   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
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
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   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