Visual Studio IntelliSense pour VC ++ inclut l' analyseur EDG C ++ «complet» (également utilisé par Intel et d'autres). Puisque le DOM de code C # est accessible aux addons (corrigez-moi si je me trompe), le DOM de code C ++ est-il également accessible? Cela peut-il être utilisé pour analyser un projet VC ++ ouvert dans l'environnement VS?
.net
visual-studio
visual-c++
c++-cli
codedom
Le flash
la source
la source
Réponses:
L' extension de refactoring Visual C ++ est capable de renommer un membre à l'échelle du projet. Il est construit par MS, mais ils ont évidemment utilisé le code DOM interne pour y parvenir. C'est donc possible, je ne sais pas encore comment.
L' extension CppLister est capable de lire les bases de données intellisense créées par VS pour lister les différents membres d'une classe.
Vous pouvez toujours utiliser l'analyseur open source Clang C ++ (en fait un compilateur) et lire l'AST dans un modèle d'objet C #. Consultez CppSharp et ClangSharp pour les liaisons C # à Clang.
la source
Je ne suis pas sûr de ce qu'est le "DOM Code C ++", s'il existe même. Ce qui compte, c'est que MSVS utilise l'interface EDG pour analyser et déterminer la signification des symboles, afin de prendre en charge les actions MSVS IDE. EDG IIRC construit ses propres structures de données internes représentant le programme; Je n'ai aucune raison de croire que ces structures de données sont le "DOM de code C ++", ou qu'elles sont visibles pour vous ou que vous pourriez les découvrir sur MSDN.
Votre véritable problème est que vous souhaitez analyser le code source C ++. Je suis d'accord, avoir les informations de début EDG serait une aide importante pour ce faire; vous ne voulez vraiment vraiment pas essayer d'écrire votre propre analyseur C ++ (et vous avez besoin de beaucoup de choses après l'analyse, google mon essai sur "la vie après l'analyse").
Vous avez donc en quelque sorte les choix suivants:
la source