Query: cflow
OS: ultrix
Section: 1
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
cflow(1) General Commands Manual cflow(1) Name cflow - generate C flow graph Syntax cflow [-r] [-ix] [-i_] [-dnum] files Description The command analyzes a collection of C, YACC, LEX, assembler, and object files and attempts to build a graph charting the external refer- ences. Files suffixed in .y, .l, .c, and .i are YACC'd, LEX'd, and C-preprocessed (bypassed for .i files) as appropriate and then run through the first pass of The -I, -D, and -U options of the C-preprocessor are also understood. Files suffixed with .s are assembled and information is extracted from the symbol table. The output of all this non-trivial processing is collected and turned into a graph of external references which is displayed upon the standard output. Each line of output begins with a reference, or line, number, followed by a suitable number of tabs indicating the level. Following the reference number is the name of the global, a colon, and the global's definition. (See the option for information on names that begin with an underscore.) For information extracted from C source, the definition consists of an abstract type declaration (for example, char *), and, the name of the source file and the line number where the definition was found. The name of the source file and the line number are delimited by angel brackets. Definitions extracted from object files indicate the file name and location counter under which the symbol appeared (for example, text). Leading underscores in C-style external names are deleted. Once a definition of a name has been printed, subsequent references to that name contain only the reference number of the line where the definition may be found. For undefined references, only <> is printed. The following is an example in file.c: int i; main() { f(); g(); f(); } f() { i = h(); } The command cflow -ix file.c produces the following output: 1 main: int(), <file.c 4> 2 f: int(), <file.c 11> 3 h: <> 4 i: int, <file.c 1> 5 g: <> When the nesting level becomes too deep, the -e option of can be used to compress the tab expansion to something less than every eight spa- ces. Options -dnum The num decimal integer indicates the depth at which the flow graph is cut off. By default this is a very large num- ber. Attempts to set the cutoff depth to a nonpositive integer will be met with contempt. -i_ Includes names that begin with an underscore. The default is to exclude these functions (and data if -ix is used). -ix Includes external and static data symbols. The default is to include only functions in the flow graph. -r Reverse the ``caller:callee'' relationship producing an inverted listing showing the callers of each function. The listing is also sorted in lexicographical order by callee. Restrictions Files produced by and cause the reordering of line number declarations which can confuse To get proper results, feed the or input. Diagnostics Complains about bad options. Complains about multiple definitions and only believes the first. Other messages may come from the various programs used (for example, the C-preprocessor). See Also as(1), cc(1), lex(1), lint(1), nm(1), pr(1), yacc(1) cflow(1)
Related Man Pages |
---|
cflow(1) - linux |
ctags(1) - bsd |
cxref(1) - osf1 |
ctags(1) - ultrix |
cflow(1p) - posix |
Similar Topics in the Unix Linux Community |
---|
egrep field print |