cgraph
—
build call graphs from C files
cgraph |
[-AcCGgPr ] [-d
num] [-i
incl] [-R
root] [file ...] |
The cgraph
utility reads C source code files and prints
call graphs from their contents.
The following options are supported:
-A
- Exclude ANSI C keywords. All globals and functions defined by the ANSI C
standard are ignored.
-c
- Print all calls within a function, including subsequent invocations of the
same function.
-C
- Exclude C99 keywords. All globals and functions defined by the C99
standard are ignored. This does not include the ANSI C standard, but only
new keywords of the C99 standard.
-d
num
- The depth at which the graph is cut off. The num
argument must be a positive integer >=0.
-G
- Exclude GCC specific keywords. All keywords defined and used by the GNU C
compiler are ignored.
-g
- Produce a
dot(1)
graph for graphviz output.
-i
incl
- Increase the number of included symbols. The incl
argument can be one of the following characters:
x
- Include external and static data symbols.
_
- Include names that begin with an underscore.
-P
- Exclude POSIX keywords. All globals and functions defined by the
IEEE Std 1003.1-2001 (“POSIX.1”)
specification are ignored. This does not include the ANSI C or C99
standards, but keywords of the IEEE Std 1003.1-2001
(“POSIX.1”) specification.
-r
- Print the flowgraph in reversed order, producing an inverted listing
showing the callers of each function.
-R
root
- The function to use as root function. The default is "main". If
set to a name, that cannot be found in the file, all functions are
printed.
The cgraph
utility exits 0 on success,
and >0 if an error occurs.
The cgraph
utility does not process any macro
substitution, preprocessor conditions like #ifdef
or
#include
directives, thus some calls within macros and
function declarations within header files are not processed correctly. Use the
cflow(1)
utility if you want to have a better control
over the flowgraph.
Marcus von Appen ⟨marcus@sysfault.org⟩