Visual Studio IntelliSense para VC ++ incluye el analizador "completo" EDG C ++ (también utilizado por Intel y otros). Dado que el DOM del código C # es accesible para los complementos (corríjame si me equivoco), ¿el DOM del código C ++ también es accesible? ¿Se puede usar para analizar un proyecto VC ++ abierto dentro del entorno VS?
.net
visual-studio
visual-c++
c++-cli
codedom
El flash
fuente
fuente
Respuestas:
La extensión de refactorización de Visual C ++ puede cambiar el nombre de un miembro en todo el proyecto. Está construido por MS pero obviamente usaron el código DOM interno para lograr esto. Entonces es posible, pero todavía no sé cómo.
La extensión CppLister puede leer las bases de datos intellisense creadas por VS para enumerar los diversos miembros dentro de una clase.
Siempre puede usar el analizador de código abierto Clang C ++ (en realidad, el compilador) y leer el AST en un modelo de objetos C #. Consulte CppSharp y ClangSharp para los enlaces de C # a Clang.
fuente
No estoy seguro de qué es el "C ++ Code DOM", si es que existe. Lo que importa es que MSVS está utilizando la interfaz EDG para analizar y determinar el significado de los símbolos, para admitir las acciones de MSVS IDE. EDG IIRC construye sus propias estructuras de datos internas que representan el programa; No tengo ninguna razón para creer que esas estructuras de datos son el "Código DOM de C ++", o que son visibles para usted o que podría encontrarlas en MSDN.
Su problema real declarado es que desea analizar el código fuente de C ++. Estoy de acuerdo, tener la información de la interfaz EDG sería una ayuda significativa para hacer eso; que realmente realmente no quiere intentar escribir su propio analizador C ++ (y que necesita un montón de cosas pasadas de análisis, Google mi ensayo sobre "la vida después del análisis").
Así que tienes las siguientes opciones:
fuente