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

Visual C++ Discussion :

comment scinder un programme en deux fichiers liés sous visual c


Sujet :

Visual C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut comment scinder un programme en deux fichiers liés sous visual c
    Bonjour,
    apres avoir remarqué sous visual c que dans mon dossier "source file" il y avait plusieurs fichiers souces (mon programme et un fichier contenant une librairie) j'aurais voulu savoir comment peut on faire pour creer plusieurs fichiers, un principal ne contenant que mon programme et un secondaire contenant toutes mes sous-fonctions de facon a alleger mon programme principal.
    Je pensais que cela était possible ayant vu un fichier ne contenant qu'un #include d'une librairie, mais aprés avoir copier toutes mes sous-fonctions dans un autre fichiers le compilateur me sort cette erreur:
    "fatal error C1010: unexpected end of file while looking for precompiled header directive"
    et l'erreur me ramene a la fin du fichier ou j'ai copier mes sous-fonctions.
    Y a t il un code spécial a entrer ou est il impossible de scinder un fichier principal en deux fichiers: un premier contenant le main et un second contenant les sous-fonctions appellées dans le main.
    Je vous remercie d'avance.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut
    Merci,
    j'ai visité cette FAQ mais je ne trouve pas d'aide concernant l'utilisation de deux fichiers sources, un pour le main et un second pour les sous fonctions.
    Lorsque je compile j'ai désormais des erreurs de reconnaissances.
    Comment puis-je lier ces deux fichiers?
    Merci

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    quelles sont les erreurs ?
    n'oublie pas d'inclure les fichiers qui sont dépendant entre eux

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    Bonjour

    Normalement si tu post ici c'est que tu utilise des classes donc ayant un .h et .cpp.
    tu dois juste inclure le fichier .h au debut de chaque cpp utilisant la classe.

    Si ce n'est pas des classes mais des fonctions ( drole donc ici) c'est le meme principe il faut que tu cree un .h contenant les definitions de tes fonctions avec leurs parametres et l'inclure au debut du cpp ayant le main ..

    exemple pour ne pas oublier le ";" dans le .h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void init_code(int index);
    Cordialement

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut
    Dans mon dossier "Source Files" j'ai deux fichiers .cpp un "prog.cpp" contenant mon code et un "fonction.cpp" contenant mes fonctions (qui sont appelées dans le premier).
    Ma question étant justement comment peut on faire pour que le premier fichier sache ou aller chercher la définition des fonctions qu'il utilise.

  7. #7
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    faudrait consulter quelques tutos C/C++ en prioriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include "monfichier.h"

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut
    J'ai déja fait mes recherches avant de poster ce messages qui a ensuite été déplacé sur ce forum.
    En passant par un fichier .h ou j'écris les définitions de mes fonctions, je dois une nouvelle fois définir toutes les variables ce qui deviendrait inutil (autant tout laisser directement dans le premier).
    A l'origine j'aurais voulu savoir s'il était au moins possible:
    d'avoir deux fichiers un contenant le programme principal, et le second ne contenant que les fonctions sans avoir a redéfinir tous les variables dans ces deux fichiers.
    Autrement dit est il possible de scinder un programme en deux fichiers (.cpp ou autre) liés?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut
    un exemple beta:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int a;
    void main()
    {
      a=1;
    }
    transformé en deux fichiers
    un premier
    et un second
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void main()
    {
      a=1;
    }
    Est ce que cela est possible?

  10. #10
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    pas directement, faut voir avec extern et include

    mais bon, à mon humble avis, une variable globale ... bof bof

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut
    Pouriez vous préciser le extern et include ou juste me dire si cela est réalisable.
    Pour le coup de la variable globale ceci n'était qu'un exemple, il peut également y avoir des #define que j'aimerai ne pas réécrire.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut
    Je voudrais juste savoir s'il est possible meme de scinder son programme par exemple en trois fichier .cpp un contenant les variables un contenant le main et un dernier contenant les fonctions.
    Merci

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Salut,

    Je vais peut-etre dire une ********rie mais bon.

    Ne suffit-il pas d'inclure les differents fichier dans le fichier principal:
    Fichier prog.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #include <function.cpp>
     
    // main
    Ceci ne marche-t-il pas?

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut
    Non ce procédé ne marche pas, c'est d'ailleurs ce qui m'était venu á l'idée initialement mais bon...
    Merci
    Et si quelqu'un á une solution je suis toujours preneur.
    Re-merci

  15. #15
    Membre habitué
    Inscrit en
    Avril 2002
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 180
    Points : 157
    Points
    157
    Par défaut
    tu doif faire comme ceci

    fichier global.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    int a;
    int b;
    fichier prog.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include "global.h"
    int main (int argv, char* argc[])
    {
           int addition = a + b;
     
           return 0;
    }
    bon courage

  16. #16
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/05/2015, 14h37
  2. Comment fusionner les lignes de deux fichiers texte ?
    Par slaborde dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 19/12/2014, 02h06
  3. programme sur deux fichiers
    Par magikk dans le forum Langage
    Réponses: 3
    Dernier message: 20/02/2008, 18h41
  4. Réponses: 3
    Dernier message: 19/11/2007, 21h55
  5. Réponses: 8
    Dernier message: 31/10/2007, 09h10

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