Sto cercando di risolvere automaticamente typedefs in arbitrari progetti C++ o C.Risoluzione dei typedef in C e C++
Poiché alcuni dei typedef sono definiti nei file di intestazione di sistema (ad esempio uint32
), sto cercando di ottenere questo risultato eseguendo il preprocessore gcc sui miei file di codice e quindi eseguendo la scansione dei file preelaborati per typedef. Dovrei quindi essere in grado di sostituire i typedef nei file di codice del progetto.
Mi chiedo, se c'è un altro, forse un modo più semplice, mi manca. Puoi pensarci?
Il motivo, perché voglio farlo: sto estraendo le metriche del codice dai progetti C/C++ con strumenti diversi. Le metriche sono basate sui metodi. Dopo aver estratto le metriche, devo unire i dati, che sono prodotti dai diversi strumenti. Il problema è che uno degli strumenti risolve typedef e altri no. Se ci sono typedef usati per i tipi di parametri dei parametri, ho metriche mappate su diversi nomi di metodi, che in realtà si riferiscono allo stesso metodo nel codice sorgente.
pensi di questo metodo nel codice sorgente: int test(uint32 par1, int par2)
Dopo aver eseguito i miei attrezzi ho metriche, mappate ad un metodo chiamato int test(uint32 par1, int par2)
e alcuni dei miei parametri sono mappati a int test(unsigned int par1, int par2)
.
Puoi anche fornire alcune informazioni sul motivo per cui è necessario rimuovere questi typedef dal codice? Probabilmente, questo ti aiuterà a suggerire una soluzione. – Jay