dueker@xenon.arc.nasa.gov (Chris Dueker) (01/09/91)
We're looking for a program that will process C source code and produce an indented listing of the hierarchy of calls, not necessarily starting with main(). Our source is located in many files and the program would need to process the files we specify. We would prefer a public-domain or freely-redistributable program with source code available. But... Any recommendations? Many Thanks in advance! Chris ------------------------------------------------------------------------ "Ah, Benson, you are so mercifully free of the ravages of intellegence!" "Oh, thank you, Master!" - from the movie, TIME BANDITS ------------------------------------------------------------------------ dueker@xenon.arc.nasa.gov | Chris Dueker (The Code Slinger)
celarier@vishnu.reed.edu (Stuart Celarier) (01/10/91)
Let me recommend that you investigate gprof, the call graph profiler on UNIX systems (well, most of them). This produces a lengthy report, based not on the source code but on the actual execution(s) of the program, which will tell you for each function: how many times it was called (and how long it took), the names of all _executed_ parents and children, along with appropriate counts. Very valuable for speed optimization. I used this utility extensively when I inherited a large software package from a third party, and was able to discover a great amount of information about the program structure and interaction in a short amount of time. -Stuart Celarier <celarier@reed.bitnet>
fjb@metaware.metaware.com (Fred Bourgeois) (01/10/91)
In article <1991Jan8.191524.14403@nas.nasa.gov> dueker@xenon.arc.nasa.gov writes: >We're looking for a program that will process C source code and produce >an indented listing of the hierarchy of calls, not necessarily starting >with main(). Our source is located in many files and the program would >need to process the files we specify. >We would prefer a public-domain or freely-redistributable program with >source code available. But... Don't know of any freeware, but ... MetaWare provides a product (xref) that will perform multi-module cross-references. So far as I know, we do not sell it separately, but it does come bundled with our C and Pascal compilers. I haven't used it extensively myself, but some customers swear by it. Please direct product inquiries to sales@metaware.com - I don't sell 'em, I just write 'em. ;-) -- Fred Bourgeois, MetaWare Inc., 2161 Delaware Avenue, Santa Cruz, CA 95060-2806 fjb@metaware.com ...!uunet!metaware!fjb Colorless Green Ideas Sleep Furiously, and so do I.