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 :

Projet en C, comment dois je m'organiser?


Sujet :

C

  1. #1
    Membre éclairé Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Par défaut Projet en C, comment dois je m'organiser?
    Bonjour,
    J'au un projet à réaliser an langage C.
    On m'a donné le code source d'un logiciel que j'ai installé sous Ubuntu (./bootstrap, ./configure, make, make install)
    Après, ma tâche sera de rentrer dans ce code source et le modifier et ajouter du code.
    Là je suis un peu perdu car j'ai trouvé pas mal de dossiers et de fichiers et je ne sais pas par où commencer?
    Le dossier du logiciel après installation est /usr/local/dossier_mon_programme
    Est ce que je vais changer dans les fichiers contenus dans ce dossier?
    Ou bien dois je voir les fichiers du dossier initial avant installation.
    J'aimerais bien que vous me guidiez chers amis.
    Merci

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Ben faut modifier les sources du dossier original.

  3. #3
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Cette question n'est pas directement liée au langage C, et relève plus du domaine de la méthodologie de travail. Le mieux est de faire une copie de travail des sources originales, et de travailler dessus. Ensuite, pour entrer dans le code source d'un logiciel de taille respectable, j'essaie d'abord de comprendre l'architecture de haut niveau de l'application. Comment est organisé le code source (modules, bloc fonctionnels)? Ensuite, certains outils sont très pratiques pour naviguer dans le code source d'une application: Source Navigator (paquet sourcenav sous Ubuntu), cscope (avec vim ou kscope, qui est un frontend graphique très pratique), ctags, etc.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  4. #4
    Membre éclairé Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Par défaut
    J'ai installé Source Navigator,
    Je suis désolé mais je suis novice en C. Je compte sur vous pour m'orienter un peu.
    Voila grosso modo les dossiers que contient le dossier original:

    ./autom4te.cache:
    ./doc:
    ./doc/user:
    ./examples:
    ./logger:
    ./loggui:
    ./models:
    ./models/antenna:
    ./models/application:
    ./models/environment:
    ./models/interferences:
    ./models/mac:
    ./models/mobility:
    ./models/modulation:
    ./models/propagation:
    ./models/radio:
    ./models/routing:
    ./src:
    ./usr_models:
    ./worldsens:

    ça peut vous donner une idée ?

  5. #5
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par condor_01 Voir le message
    ça peut vous donner une idée ?
    Oui, commence par lire la /doc !

  6. #6
    Membre éclairé Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Par défaut
    Je l'ai déjà lue la doc
    Y'a pas grand chose.
    Un document pdf de 5 pages qui ne m'a pas aidé.

  7. #7
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par condor_01 Voir le message
    Je l'ai déjà lue la doc
    Y'a pas grand chose.
    Un document pdf de 5 pages qui ne m'a pas aidé.
    Hmm, c'est mal parti. Il faut esperer que le code est bien organise. A priori, le code source se trouve dans /src, les autres repertoires doivent correspondre aux donnees necessaires au programme. J'imagine que /examples ne contient que du code qui permet d'utiliser l'engin en tant qu'utilisateur, pas en tant que developpeur qui souhaite le modifier.
    Attention quand meme: tu dis que tu es novice en C. Il ne faut pas t'embarquer dans un projet qui depasse tes competences techniques. Il faut apprendre pas a pas sinon on abandonne vite !

  8. #8
    Membre éclairé Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Par défaut
    voila ce que contient le dossier /src :
    config.c engine.h Makefile medium.h toadd.txt nom_logiciel-config.o nom_logiciel-medium.o
    config.h errors.c Makefile.am packet.c wsens_srv.c nom_logiciel-engine.o nom_logiciel-packet.o
    config.xsd errors.h Makefile.in packet.h wsens_srv.h nom_logiciel-errors.o nom_logiciel-quarks.o
    devutils.h glibmisc.c medium.c quarks.c wsnet nom_logiciel-glibmisc.o wsnet-wsens_srv.o
    engine.c glibmisc.h medium_datadef.xml quarks.h nom_logiciel.c nom_logiciel.h nom_logiciel-nom_logiciel.o

  9. #9
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Oui c'est donc les sources. Si tu as des trucs à modifier ça doit être ici.

  10. #10
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Si le projet est bien organisé, le nom des fichiers à l'intérieur du répertoire src/ et/ou leur répartition en différents sous-répertoires devrait t'en apprendre plus sur la découpe fonctionnelle de l'application ou de la bibliothèque en question.

    Il est clair qu'avec une documentation bien faite, la tâche est simplifiée...

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  11. #11
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par condor_01 Voir le message
    voila ce que contient le dossier /src :
    config.c engine.h Makefile medium.h toadd.txt nom_logiciel-config.o nom_logiciel-medium.o
    config.h errors.c Makefile.am packet.c wsens_srv.c nom_logiciel-engine.o nom_logiciel-packet.o
    config.xsd errors.h Makefile.in packet.h wsens_srv.h nom_logiciel-errors.o nom_logiciel-quarks.o
    devutils.h glibmisc.c medium.c quarks.c wsnet nom_logiciel-glibmisc.o wsnet-wsens_srv.o
    engine.c glibmisc.h medium_datadef.xml quarks.h nom_logiciel.c nom_logiciel.h nom_logiciel-nom_logiciel.o
    N'ayant aucune information sur le contexte de l'application en question (qu'est-elle sensée faire), il est difficile de t'en dire plus... On peut voir apparaître quelques bloc fonctionnels tels que:

    • engine
    • medium
    • packet
    • quarks
    • ...


    L'interface publique déclarée dans les fichiers d'en-tête correspondant devrait te donner une petite idée de leur rôle.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  12. #12
    Membre éclairé Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Par défaut
    C'est une application de simulation pour les réseaux sans fil.

  13. #13
    Membre éclairé Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Par défaut
    Pas de réponse ?

  14. #14
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Que dire de plus? Les bases pour commencer ont été exposées. Maintenant, il faut essayer de te plonger dans l'application en question avec la doc à disposition. Si tu as des questions précises sur le langage C, ce forum est là pour essayer d'y répondre.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  15. #15
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Le conseil que je peux te dire, c'est d'aller voir dans le code source, voir la tête des fonctions. Passer un peu de temps dans chaque module pour voir comment tout ça, s'organise. Il n'y a pas trop d'autres solutions.

    Si les sources sont documentés avec doxygen, il faudrait générer la doc.

  16. #16
    Membre éclairé Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Par défaut
    Mon problème c'est qu'il y'a un tas de fichiers avec des extensions différentes et je ne sais même pas par où commencer.
    J'ai eu le dossier des codes sources mais je ne connais pas quel environnement a été utilisé pour développer l'application.
    Est ce que je peux deviner à partir des fichiers?

  17. #17
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    N'y a t il pas un README qui dit comment compiler le projet ?

    S'il y a un simple makefile, un simple éditeur de texte a pu être utilisé.
    S'il y a des fichiers de configuration code::blocks, alors ça sera code::blocks, s'il y a des fichiers de projet vcj, c'est visual C++...

    Au niveau des sources, je serais étonné qu'il y a plus d'extensions que .c et .h (s'il y a d'autres extensions, comme des images... ils devraient se trouver dans des dossiers data, ou images

  18. #18
    Membre éclairé Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Par défaut
    Les extensions que j'ai trouvés à part les .c et .h sont:
    .xml , .guess , .am , .in , .sub , .o

  19. #19
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    C'est pas très clair ce que tu veux faire.

    Tu dis devoir modifier le source.
    Ben vas y modifie le, y'a pas 36 solutions, tu ouvres tous les .h et tu regardes ce qu'il y a dedans, et le nom des fonctions. Si le nom est pas explicite, y'a pas 50 manières tu ouvres le .c et tu lis en espérant que ce soit commenté.

    On a pas le projet on peut pas deviner nous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/04/2008, 15h03
  2. [design] ou et comment dois je ecrire ma methode?
    Par Malo dans le forum Logging
    Réponses: 12
    Dernier message: 10/01/2007, 12h46
  3. changement de tarif - comment dois je faire ?
    Par Luc01 dans le forum Access
    Réponses: 11
    Dernier message: 06/08/2006, 10h10
  4. [Excel]Projet VBA protégé, comment déprotéger ?
    Par tonf dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/06/2006, 20h05
  5. Réponses: 7
    Dernier message: 27/09/2005, 23h34

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