*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> cflow (1)              
Title
Content
Arch
Section
 

CFLOW(1)

Contents


NAME    [Toc]    [Back]

       cflow - print a function call hierarchy

SYNOPSIS    [Toc]    [Back]

       cflow [-Aagivx] [-d n] [-w n] [-r name] [cpp-opts] files

DESCRIPTION    [Toc]    [Back]

       The cflow command reads files as program source and attempts to print a
       graph of the program's function call hierarchy to the standard  output.
       Called  functions are indented with respect to their calling functions,
       and printed only once, in the order they occur.

       The first reference to function func is printed with the  name  of  the
       file and line number where it is defined, e.g.,

	      func {file.c n}.

       Subsequent references are printed as:

	      func ... {mm},

       where  mm  is  the line number in  the graph of func's first reference.
       Global variable references appear (if invoked with the -v option) as:

	      var {v file.c n}.

       External functions and variables are printed with a null source, i.e.,

	      func {}.

       An ellipsis precedes the name of a function called recursively, e.g.,

	       ... func ... {mm}

   OPTIONS    [Toc]    [Back]
       -a	 Print a separate call graph for each function.

       -A	 Eliminate ansi keywords

       -P	 Eliminate POSIX keywords

       -d nn	 Print the call graph to at most depth nn.

       -g	 Add to the list of C keywords GNU CC keywords.

       -i	 Print an inverted graph of depth 2, i.e.,  for each  function
		 (or  variable	if  used  with the -v option), print a list of
		 functions which call it.

       -r name	 Print a call graph with function or variable name as root (in
		 the  case  of	a variable, this only makes sense if used with
		 the -i option).  This option may be repeated.

       -v	 Print references to global variables.	Only  functions  calls
		 are printed by default.

       -x	 Print	each  sub-graph  in  full.  This overrides the default
		 format  where	subsequent  references	are   abbreviated   as
		 described above.

       -Dmacro or -Umacro or -Idir
		 Invoke  cpp  with  the  corresponding options.  If there is a
		 makefile, then the command make -n should indicate the proper
		 flags to invoke cflow with.

       -X	 eliminate  header  files (empty files are made to a temporary
		 location).  This often makes better results occur.  Files  to
		 look at eliminating are:
		      stdio.h
		      errno.h
		      ctypes.h
		      stdlib.h

       -V	 Echo commands as they are being executed.

AUTHORS    [Toc]    [Back]

       The  graph  printing  command prcg is essentially the one in M. M. Taylor's
 calls(1) as posted to the Usenet newsgroup comp.sources.unix.   A
       new  parser,  prcc,  is	based  on Steven Kirkendall's ctags(1) command
       which is distributed with the vi-clone elvis(1).
       Marty Leisner (leisner@sdsp.mc.xerox.com) got this working on SunOS and
       Linux, and added a plethora of options to cflow; rewriting cflow to use
       bash.

ENVIRONMENT    [Toc]    [Back]

       Uses $CPP, which is normally $CC -E.  If $CC is not define, use gcc.
       PRCG is defaulted to be the prcg program.
       PRCC is defaulted to be the prcc program.

HINTS    [Toc]    [Back]

       Sometimes redefine CPP as cat will produce output if you see known.

BUGS    [Toc]    [Back]

       An extern variable declaration is  overridden  by  an  actual  (global)
       variable  declaration.	A complaint is written to stderr whether there
       is a conflict or not.

       Function parameters are ignored.  If these parameters share  the  names
       of  global  variables, then references to them are  flagged as external
       references.

       The static qualifier is ignored.  Only the first definition of a  function
 or variable is recognized.

       It appears a definition like
       main() { foo(); causes problems.



								      CFLOW(1)
[ Back ]
 Similar pages
Name OS Title
MrmOpenHierarchyPerDisplay HP-UX Allocates a hierarchy ID and opens all the UID files in the hierarchy
MrmOpenHierarchy HP-UX Allocates a hierarchy ID and opens all the UID files in the hierarchy
MrmOpenHierarchy Tru64 Allocates a hierarchy ID and opens all the UID files in the hierarchy
MrmOpenHierarchyPerDisplay Tru64 Allocates a hierarchy ID and opens all the UID files in the hierarchy
MrmOpenHierarchy IRIX Allocates a hierarchy ID and opens all the UID files in the hierarchy
MrmOpenHierarchyPerDisplay IRIX Allocates a hierarchy ID and opens all the UID files in the hierarchy
pam_vprompt FreeBSD call the conversation function
pam_prompt FreeBSD call the conversation function
bioscall NetBSD call system BIOS function from real mode
XmTransferSetParameters HP-UX A toolkit function that establishes parameters to be passed by the next call to XmTransferValue
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service