2016-02-18 16 views
9

Sembra Eclipse allows user to "see the expansion Step-by-Step" by pressing F2.Come vedere le espansioni di macro passo passo?

Mi piace questa funzione eccezionale. Ma posso fare la stessa cosa con solo gcc o clang (o qualsiasi strumento)?

-E l'opzione rende tutte le macro completamente espanse. Quindi non ho trovato alcun modo alternativo per espandere le macro passo dopo passo.

Eclipse è grande. Spero di non aver bisogno di installarlo ovunque e di averlo lanciato tutto il tempo.

+0

L'opzione '-E' è per gcc. Non capisco quale alternativa tu voglia. – ameyCU

+0

@ameyCU Voglio un modo leggero per vedere l'espansione passo-passo, come la funzione in Eclipse – cshu

risposta

1

È una funzionalità incorporata in Eclipse. Se tale strumento fosse fornito come parte della toolchain GCC o Clang, Eclipse non avrebbe avuto bisogno di implementarlo. Tale funzionalità potrebbe essere implementata come estensione a GCC utilizzando MELT. LLVM (di cui Clang fa parte) è progettato per rendere banale una cosa del genere.

Una cosa da tenere a mente è che l'espansione macro è un affare complicato. In qualsiasi momento, una definizione di macro può cambiare o non esistere affatto. In teoria è possibile utilizzare gdb (il debugger fornito con GCC) per scorrere il programma in modo da vedere espansioni di macro in un punto diverso del programma. Se vuoi, puoi provare a scrivere un plugin gdb in Python.