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 :

Comment detecter les #include inutiles?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 2
    Par défaut Comment detecter les #include inutiles?
    Bonjour,

    je travaille actuellement sur le rearrangement des fichiers d'un projet ecrit en C.

    Je me retrouve avec bon nombre de #include inutiles.

    Je souhaiterai les detecter et les enlever car ils alourdissent la compilation du code.

    Connaissez-vous un moyen pour realiser cette detection de facon automatique?

    Merci,

    bonne journe a tous,

    A bientot,

    Olivier

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Si gcc est le compilateur utilisé, il possède une option qui permet de savoir quels sont les headers nécessaires :

  3. #3
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par mabu Voir le message
    Bonjour,

    Si gcc est le compilateur utilisé, il possède une option qui permet de savoir quels sont les headers nécessaires :
    De mémoire, gcc -M ne donne pas les headers nécessaires mais les headers inclus, directement ou non, dans le fichier source.

    Ce qui ne règle pas le problème initial, puisqu'il va également listé les headers présents et inutiles.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    La méthode "bourrin", tu mets en commentaire les ligne "include" et tu recompiles, si il y a une erreur, tu décommentes et tu continues sur les autres lignes.

    Je reconnais que c'est envisageable sur quelques fichiers mais risque de devenir lourd sur un gros projet.

    De plus, cela ne règle pas le problème de l'ordre d'inclusion.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre émérite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par défaut
    DOXYGEN peut générer un graphe d'inclusions. Ca ne détecte pas les #includes inutiles, mais déjà ceux qui sont inclus plusieurs fois (une fois directement, une autre fois dans un #include qui est dans un autre fichier inclus, par exemple). C'est déjà ça.

  6. #6
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    Citation Envoyé par mabu Voir le message
    Bonjour,

    Si gcc est le compilateur utilisé, il possède une option qui permet de savoir quels sont les headers nécessaires :
    -H Print the name of header files as they are used each time
    -M Print the name of header files as they are used once

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 2
    Par défaut
    Helas non, gcc n'est pas le compilateur utilise. Merci pour l'info.

    Le code est compile avec un compilateur Texas Instruments pour les DSPs de la famille C6x. Je vais creuser un peu plus les options de compilation.

    On envisage de rendre le code compilable avec gcc, mais pas tout de suite.

    existe-t-il des outils d'analyse statique du code qui font cette detection?

    Olivier

Discussions similaires

  1. Comment detecter les fonctions inutilisées
    Par Jeane dans le forum Linux
    Réponses: 3
    Dernier message: 23/02/2007, 01h45
  2. Comment enlever les zeros inutiles d'un float
    Par Skorpyon69 dans le forum C
    Réponses: 18
    Dernier message: 04/12/2006, 21h08
  3. Comment detecter les accents
    Par Clément76 dans le forum C
    Réponses: 7
    Dernier message: 28/09/2006, 22h24
  4. Réponses: 3
    Dernier message: 30/06/2006, 14h39
  5. Réponses: 6
    Dernier message: 23/05/2006, 15h59

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