dans Visual C ++, on peut trouver le fichier d'en-tête où tout Par exemple, considérez ce code: P> < Pré> xxx pré> dans Visual C ++ 2010, si je recherche la définition de Taille_t Code> dans ci-dessus
MAIN.CPP CODE>, il atterrit moi dans un fichier Nommé
Sourceannotations.h code>. Je sais que cette chaîne d'en-tête commence par
stddef.h code> (que j'ai inclus) et se termine dans
Sourceannotations.h code>. Comment comprendre les liens au milieu de cette chaîne? P> p>
3 Réponses :
Vous pouvez utiliser des outils ingénierie inverse tels que Doxygen, Comprendre Analyst, etc. Cela vous aidera à comprendre le flux complet des variables, des appels de fonction. P>
+1 Pour faire référence à la compréhension de C / C ++, mais cela nécessite toujours que vous puissiez ouvrir le graphique Inclure dans la compréhension et cliquez sur Ouvrir tous les incluant jusqu'à ce que vous trouviez le fichier inclus dans lequel la variable / type / constante est en fait définie. Alors, encore beaucoup de travail manuel. Mais, d'autre part, en effet très bon utilité.
Dans votre boîte de dialogue Propriétés, sous C / C ++, préprocesseur, actionnez PreProcess dans un fichier. Si vous compilez MAIN.CPP, cela générera Main.I. P>
Vous pouvez ensuite regarder dans Main.Je et voir quel fichier inclut quel autre fichier. P>
C'était aussi mon idée initiale (à l'aide de l'option de compilateur / p), mais de ce fichier généré. Je pense qu'il est toujours difficile de voir quelle est la "chaîne" réelle.
La hiérarchie complète des en-têtes sera imprimée dans la fenêtre de sortie lorsque vous compilez chaque fichier. P>
Cela marche! Il ne montre pas la chaîne pour un certain nom, mais convient presque à mon besoin. Merci! :-)
Pour le curieux, la chaîne d'en-tête pour Taille_T en VC ++ 2010 s'est avérée être: STDDEF.H -> CRTDEFS.H -> Sal.h -> Sourceannotations.h
@Shwin: Vous n'obtiendrez pas une chaîne de dépendances exacte, car l'en-tête peut être inclus de plusieurs endroits. Ce qui est pire, C ++ permet de dupliquer les TypeDef au même type. Maintenant, vous avez un arbre, au lieu d'une chaîne.
Alex: Oui, je me rends compte que pour tout exemple du monde réel, l'inclusion aurait pu survenir de n'importe où. Mais cela reste un outil utile pour enquêter sur la chaîne d'en-tête.
Si vous recherchez une touche de raccourci dans Visual Studio (TM) ou pour un plug-in Certified (TM) certifié (R) pour le faire, vous devriez probablement marquer votre question avec l'une des balises Visual Studio (TM) -Related .. .
Pavel: Je ne cherchais pas une telle touche. Mais, marquera-t-il avec VS de toute façon depuis une telle solution sera utile aussi :-)