2012-04-17 11 views
9

En resumen: estoy buscando algo así como Roslyn pero para C++.

¿Hay un compilador como servicio para C++?

En detalle:

estoy tratando con un proyecto de C# donde tengo que trabajar con archivos de C++. Tengo un montón de .h (alrededor de 250 archivos) y .cpp y me gustaría asignar las clases y funciones y lo que no, que se definen en estos archivos.

Es para una tarea de modelado. No deseo usar la biblioteca real de C++.

No escribí el código de C++, por lo que no puedo estar seguro de si hay clases anidadas en alguna parte. Entonces esta no es una tarea de expresiones regulares "simple".

El proyecto está en C#, y la biblioteca que me gustaría usar está en C++. No puedo cambiar eso.

+2

Incluso si no hubiera clases anidadas, eso aún no sería una cosa "simple" de hacer. ¿Qué hay de las instancias de plantillas? Por lo que vale, esto es lo que los chicos de Clang están tratando de hacer, pero AFAIK es un gran dolor trabajar en algunas plataformas. –

+1

posible duplicado de [Cómo analizar/analizar simple código C/C++ de C# para obtener una lista de métodos] (http://stackoverflow.com/questions/8817712/how-to-parse-simple-analyze-cc-code -from-c-sharp-to-get-a-list-of-methods) –

Respuesta

9

Creo que libclang tiene la funcionalidad que desea. Básicamente es una interfaz C para acceder a gran parte de la información almacenada en C/C++ AST de clang. La documentación es un tanto escueta, así que here es un buen video sobre lo que puede hacer con algunos ejemplos.

+0

Me convenciste. :) Empecé a trabajar con libclang. El video fue un muy buen comienzo para mí. ¿Hay más tutoriales/tutoriales que recomiendas? – Tenshiko

Cuestiones relacionadas