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 :

Savoir quel fichier a ete effectivement inclu lors de la compilation


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 35
    Par défaut Savoir quel fichier a ete effectivement inclu lors de la compilation
    Bonjour,

    Pour expliquer mon probleme, j'ai un programme C++ avec pas mal d'inclusions un peu partout. A un moment dans le programme j'inclus un header "#include "toto.h" sauf que j'ai differentes versions de ce fichier sur mon pc... Et lorsque que modifie la version que je crois a ete inclue par le compilateur cela ne fait rien donc cela ne doit pas etre la bonne.....

    D'ou mes questions :
    - Y a t-il une commande ou une facon pour avoir exactement le path des fichiers qui ont ete inclues ? Par exemple je voudrais savoir que toto.h a ete inclue vie la path :/home/user/Code/machin/truc/toto.h pour savoir exactement quel fichier changer....
    - A la compilation par quel ordre le compilateur va chercher les librairies a inclure ? Par exemple quelle est la priorite entre les repertoires que je mets en "INCLUDE_DIRECTORIES" sous CMakeList, les reportes qui sont dans le $PATH de mon bash sous linux, et dans le $LD_LIBRARY sous linux ? J'ai du mal a voir a quoi corresponds tous ces chemins....

    Merci d'avance pour votre aide !

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Une seule solution, lire la documentation des outils que tu utilises.

    Un conseil: gcc utilise une variable d'environnement pour initialiser sa liste de répertoires d'inclusions, et son option -I permet d'en ajouter d'autre.
    A ceux-la s'ajoute systématiquement le "working directory" d'où est lancé la compilation, c'est à dire "." .

    Les includes <> et "" ne se comportent pas exactement pareil, mais ne rajoute pas d'autres dossier à cette ensemble.

    $PATH de bash indique où trouver les commandes exécutées, c'est sans rapport.
    $LD_PATH$LD_LIBRARY_PATH concerne les emplacements où ld doit chercher les bibliothèques liées dynamiquement (comme l'implémentation de la bibliothèque standard du C++, par exemple)

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 760
    Par défaut
    Au niveau de gcc, il y a aussi -L qui permet d'ajouter des chemin de bibliothèque pour la phase de link.

    Il me semble que LD_PATH n'existe pas, mais que c'est plutôt LD_LIBRARY_PATH. Il y a aussi LD_PRELOAD pour charger directement des bibliothèques.

    Pour afficher les includes avec gcc: -MM ou -M.

  4. #4
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 35
    Par défaut
    merci pour vos reponses !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/03/2014, 12h55
  2. Réponses: 5
    Dernier message: 19/05/2008, 18h46
  3. Réponses: 1
    Dernier message: 03/04/2008, 11h08
  4. Réponses: 28
    Dernier message: 29/07/2006, 16h04
  5. [VBA-E]Savoir à quel endroit se trouve un fichier
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/03/2006, 16h10

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