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 :

Structure de projet C


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Structure de projet C
    Salut à tous.

    Alors moi, ce n'est pas vraiment un problème de programmation (ça je sais faire), mais plutôt un problème de structuration de projet.

    Je m'explique : je ne sais pas vraiment comment organiser mes fichiers et leur contenu au sein d'un projet. En gros, ou mettre les fichiers .c et .h, comment utiliser correctement les #includes, ou déclarer les prototypes de chaque fonctions, les types de données... bref tout pour que l'organisation de mon projet soit claire et logique.

    Merci d'avance !

  2. #2
    Membre actif
    Avatar de odsen.s
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 269
    Points : 243
    Points
    243
    Par défaut
    Salut,

    Des éléments de réponse ici : http://emmanuel-delahaye.developpez.....htm#organiser

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Suivant la taille du projet, par exemple s'il comporte une cinquantaine de fichier sources + headers comme c'est le cas chez moi en ce moment, le mieux est je pense de créer des modules de compilation de spécialité si on peut dire ainsi. Les fonctions seront automatiquement rangées correctement et l'organisation du projet restera assez claire !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Ok, et donc pour les headers, on les inclus dans le fichiers source associé, et dans tous les fichiers source ou header dans lequel on a besoin des fonctions (types, macro...) qui en dépendent.

    C'est un peu ce que je faisait jusqu'à maintenant, mais ça doit vite devenir l'usine à gaz. Donc si on sépare par modules, on garde une arborescence src/ et inc/, dans lesquels on créé des sous dossiers associés à chaque module.

    Bon, je vais essayer d'organiser mon projet dans cette optique là.

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Leeelooo
    Alors moi, ce n'est pas vraiment un problème de programmation (ça je sais faire), mais plutôt un problème de structuration de projet.

    Je m'explique : je ne sais pas vraiment comment organiser mes fichiers et leur contenu au sein d'un projet. En gros, ou mettre les fichiers .c et .h, comment utiliser correctement les #includes, ou déclarer les prototypes de chaque fonctions, les types de données... bref tout pour que l'organisation de mon projet soit claire et logique.
    En dehors des moyens de réalisation déjà indiqués, l'important est de savoir comment découper un projet. C'est simple. Il faut suivre le processus de développement du projet qui consiste (de manière simplifier) à
    1. Définir
    2. Concevoir
    3. Coder

    La conception montre comment le projet se découpe en unité de plus en plus petites. Il n'y a aucun hasard là-dedans, que de la logique et du raisonnement.

    Evidement, ça veut dire réfléchir avant de coder... Certains ne sont pas habitués à ça, et il semblerait que ce principe soit ignoré dans les écoles et facs ou alors mal enseigné ou mal compris....
    Pas de Wi-Fi à la maison : CPL

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Si si, c'est enseigné dans les école (la mienne en tout cas).
    Le projet que je suis en train de faire fait justement partie d'un projet d'algo/c pour mon école.
    Toute la partie étude du projet/algorithmique a déjà été faite, il ne reste plus qu'à sortir le code, mais c'est vrai qu'on ne s'est pas vraiment intéressé à comment le structurer en interne. Enfin, si, mais c'est pas encore un projet assez imposant pour avoir à définir des sous modules..., donc l'arborescence n'est pas bien méchante.

    Mais bon, la question était surtout de savoir comment on peut structurer correctement un projet, car certains stockent les headers au même endroit que les source, d'autres, dans un dossier séparé...
    Donc selon vous, qu'est ce qui est le mieux ?

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Leeelooo
    Mais bon, la question était surtout de savoir comment on peut structurer correctement un projet, car certains stockent les headers au même endroit que les source, d'autres, dans un dossier séparé...
    Donc selon vous, qu'est ce qui est le mieux ?
    Bin c'est suivant la taille de ton projet. Ce que je fait en générale quad un petit projet ne fait pas plus 7 à 10 fichiers (sources & headers), je met tout ensemble.

    Maintenant, comme c'est le cas dans un gros projet sur lequel je travail, le projet même pas encore fini fait déjà plus de 50 fichiers sources & headers donc là, le projet contenant plusieurs spécificités, j'ai tout rangé dans des sous-dossier, le main (chez moi uniquement de test) se trouve dans le dossier parent.

    Etant donné que c'est un petit moteur 2D générique avec gestion de GUI en C/SDL, le moteur possède plusieurs spécialités donc chaque dossier correspond à une partie spécifique qui peut contenir parfois plusieurs unités de compilation.

    J'espère avoir été assez clair
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    Pour un projet petit, tu peux comme l'a dit Franck tout mettre dans le même répertoire.

    Pour un projet plus gros, moi je structure comme ça :

    Soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    src  include obj lib bin doc
    Soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
               src                  obj lib bin doc
      /         |       \  
    include  module1  module2 ...
    où module1, module2, etc.. sont des fonctionalités de haut niveau (par exemple "calculs généraux", "accès bd", "gui", etc..)

    "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
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Voici la structure générale d'une partie de mon projet: http://backbubble.cvs.sourceforge.ne...urces/BEngine/ de la chance que c'est un projet sous GNU GPL sinon je l'aurais pas montré
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Ok ok, bien merci à tous, je vais voir ce que ça donne en structurant mon projet comme ça.

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/01/2010, 14h28
  2. jspc-maven-plugin STRUCTURE DE PROJET
    Par alexandragonzalez dans le forum Maven
    Réponses: 0
    Dernier message: 11/06/2009, 17h01
  3. structurer son projet borland c++ builder
    Par petitours dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/09/2008, 11h08
  4. Comment structurer mon projet c++
    Par balteo dans le forum C++
    Réponses: 5
    Dernier message: 04/04/2008, 17h48
  5. [Débutant] Structure de projet Tomcat
    Par slclinsearch dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 29/12/2005, 12h30

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