Sto cercando un'utility a riga di comando su * nix, in grado di eseguire il dump dei nomi di tutte le funzioni, classi ecc definite in un file (C/C++/Java)strumento linux per elencare tutte le funzioni in un file sorgente?
risposta
ctags può dare che (e molto Di Più). E 'incluso nella maggior parte delle distribuzioni Linux ...
http://ctags.sourceforge.net/whatis.html
so di ctags, ma genera il suo file di tag, che quindi è necessario da importare in un editor, ad es vim. Stavo chiedendo una semplice utility, che stampi solo i nomi delle funzioni su console, se ctags lo fa non sono sicuro che sia – Anonymous
quindi vuoi 'ctags -x', che stampa un sommario leggibile di cose. – SingleNegationElimination
Anche 'ctags -f -' stampa l'output su stdout e non su un file di tag. Puoi quindi usare 'awk' o qualcosa di simile ... –
Non è chiaro quale lingua si fa riferimento a: se:
- rispettate file di elf allora hai utilità readelf condizione che avete compilato il file con il debug informazioni "-g"
Questo non funzionerà per C++, a causa del nome di manomissione ... –
@Gilad Naor - Ma puoi usare C++ filt per demangle –
Non sono sicuro se sarebbe utile per il vostro scopo preciso, ma dare un'occhiata a GCC-XML
Si può provare Doxygen http://www.stack.nl/~dimitri/doxygen/
Si potrebbe anche voler dare un'occhiata a cscope
che è simile a ctags suggerite nella risposta accettata. Crea il proprio database dei simboli. Fornisce un'interfaccia piacevole per te, consentendo la ricerca di un determinato simbolo/inclusione/file/dichiarazione all'interno del tuo progetto.
Che tipo di file, quale lingua intendi con il file elf rispettato? – Gadolin
In quale lingua è il file sorgente? –
Per java scrivere un codice basato sulla riflessione per farlo. Si prega di verificare se C++ filt fa qualcosa di utile per voi - http://sourceware.org/binutils/docs-2.16/binutils/c_002b_002bfilt.html – Jayan