Man pages sections > man1 > cflow

cflow - analyze control flow in C source files

CFLOW(1) cflow manual CFLOW(1)

NAME

cflow - analyze control flow in C source files

SYNOPSIS

cflow [ option...] file...
cflow { --help | --usage | --version | -V}

DESCRIPTION

This manual page documents briefly the cflow command.
This manual page was written for the Debian distribution because the original program does not have a manual page. Instead, it has documentation in the GNU info(1) format.
GNU cflow analyzes a collection of C source files and prints a graph, charting control flow within the program.
GNU cflow is able to produce both direct and inverted flowgraphs for C sources. Optionally a cross-reference listing can be generated. Two output formats are implemented: POSIX and GNU (extended).
Input files can optionally be preprocessed before analyzing.

OPTIONS

A summary of options is included below. For a complete description, see the info(1) files.
The program follows the usual GNU command line syntax, with long options starting with two dashes (-). Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.
The effect of each option marked with an asterisk is reversed if the option's long name is prefixed with ‘no-’. For example, ‘--no-cpp’ cancels ‘--cpp’.

General options

-d, --depth=number
Set the depth at which the flowgraph is cut off.
-f, --format=name
Use given output format name. Valid names are ‘gnu’ (default) and ‘posix’.
-i, --include=classes
Include specified classes of symbols (see below). Prepend classes with ^ or - to exclude them from the output.
 
Symbols classes:
_
symbols whose names begin with an underscore
s
static symbols
t
typedefs (for cross-references only)
x
all data symbols, both external and static
 
-o, --output=file
Set output file name. Default is -, meaning standard output.
-r, --reverse
* Print reverse call graph.
-x, --xref
Produce cross-reference listing only.

Parser control

-a, --ansi
* Accept only sources in ANSI C.
-D, --define=name[=defn]
Predefine name as a macro.
-I, --include-dir=dir
Add the directory dir to the list of directories to be searched for header files.
-m, --main=name
Assume main function to be called name.
-p, --pushdown=number
Set initial token stack size to number.
--preprocess[=command], --cpp[=command]
* Run the specified preprocessor command.
-s, --symbol=symbol:type
Register symbol with given type. Valid types are: ‘keyword’ (or ‘kw’), ‘modifier’, ‘identifier’, ‘type’, ‘wrapper’. Any unambiguous abbreviation of the above is also accepted.
-S, --use-indentation
* Use source file indentation as a hint.
-U, --undefine=name
Cancel any previous definition of name.

Output control

-b, --brief
* Use brief output.
--emacs
* Additionally format output for use with GNU Emacs.
-l, --print-level
* Print nesting level along with the call graph.
--level-indent=string
Use string when indenting to each new level.
-n, --number
* Print line numbers.
--omit-arguments
* Do not print argument lists in function declarations.
--omit-symbol-names
* Do not print symbol names in declaration strings.
-T, --tree
* Draw ASCII art tree.

Informational options

--debug[=number]
Set debugging level.
-v, --verbose
* Verbosely list any any errors encountered in the input files.
-?, --help
Display help and exit.
--usage
Display short usage message and exit.
-V, --version
Display version information and exit.

AUTHOR

Jakub Wilk <jwilk@debian.org>
Wrote this manpage for the Debian system.
Copyright © 1997, 2005, 2007 Sergey Poznyakoff
 
Copyright © 2009 Jakub Wilk
 
This manual page was written for the Debian system (and may be used by others).
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License Version 3, as published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License Version 3 can be found in /usr/share/common-licenses/GPL-3.
 
05/11/2014 cflow 1.2