Estoy tratando de resolver automáticamente los typedefs en proyectos arbitrarios de C++ o C.Resolviendo typedefs en C y C++
Debido a que algunos de los typedefs se definen en los archivos de cabecera del sistema (por ejemplo uint32
), actualmente estoy tratando de lograr esto mediante la ejecución del preprocesador gcc en mis archivos de código y luego escanear los archivos preprocesados para typedefs. Debería poder reemplazar los typedefs en los archivos de código del proyecto.
Me pregunto, si hay otra forma, quizás más simple, me falta. Puedes pensar en una?
La razón, por la que quiero hacer esto: estoy extrayendo métricas de código de los proyectos C/C++ con diferentes herramientas. Las métricas están basadas en métodos. Después de extraer las métricas, tengo que fusionar los datos, que son producidos por las diferentes herramientas. El problema es que una de las herramientas resuelve typedefs y otras no. Si hay typedefs usados para los tipos de parámetros de métodos, tengo métricas asignadas a diferentes nombres de métodos, que en realidad se refieren al mismo método en el código fuente.
parece este método en el código fuente: int test(uint32 par1, int par2)
Después de ejecutar mis herramientas tengo métricas, asignadas a un método denominado int test(uint32 par1, int par2)
y algunos de mis métricas se asignan a int test(unsigned int par1, int par2)
.
¿También puede darnos alguna información sobre por qué necesita eliminar estos typedefs de su código? Probablemente, eso ayudará a sugerir una solución. – Jay