NAME
     cflow - generate C flowgraph
SYNOPSIS
     ccffllooww [[--rr]] [[--iixx]] [[--ii_]] [[--ddnum]] files
DESCRIPTION
     The ccffllooww command analyzes a collection  of  C,  yyaacccc,  lleexx,
     assembler,  and object files and builds a graph charting the
     external function references.  Files suffixed with  ..yy,  ..ll,
     and  ..cc  are  processed  by yyaacccc, lleexx, and the C compiler as
     appropriate.  The results of  the  preprocessed  files,  and
     files  suffixed with ..ii, are then run through the first pass
     of lliinntt.  Files suffixed with ..ss are  assembled.   Assembled
     files,   and   files  suffixed  with  ..oo,  have  information
     extracted from their symbol tables.  The  results  are  col-
     lected  and  turned into a graph of external references that
     is written on the standard output.
     Each line of output begins with a reference number, followed
     by  a suitable number of tabs indicating the level, then the
     name of the global symbol followed by a colon and its defin-
     ition.   Normally only function names that do not begin with
     an underscore are listed (see the --ii  options  below).   For
     information extracted from C source, the definition consists
     of an abstract type declaration (e.g., cchhaarr **), and,  delim-
     ited  by angle brackets, the name of the source file and the
     line number where the  definition  was  found.   Definitions
     extracted from object files indicate the file name and loca-
     tion counter under which the symbol appeared  (e.g.,  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.
     As an example, suppose the following code is in ffiillee..cc:
          iinntt  ii;;
          mmaaiinn(())
          {{
               ff(());;
               gg(());;
               ff(());;
          }}
          ff(())
          {{
               ii == hh(());;
          }}
     The command
          ccffllooww --iixx ffiillee..cc
     produces the output
          11    mmaaiinn:: iinntt(()),, <<ffiillee..cc 44>>
          22         ff:: iinntt(()),, <<ffiillee..cc 1111>>
          33              hh:: <<>>
          44              ii:: iinntt,, <<ffiillee..cc 11>>
          55         gg:: <<>>
     When the nesting level becomes too deep, the output of ccffllooww
     can  be  piped  to  the  pprr command, using the --ee option, to
     compress the tab expansion  to  something  less  than  every
     eight spaces.
     In addition to the --DD, --II, and --UU options, which are  inter-
     preted  just  as  they  are by cccc, the following options are
     interpreted by ccffllooww:
     --rr     Reverse the ``caller:callee'' relationship  producing
            an inverted listing showing the callers of each func-
            tion.  The listing is also sorted in  lexicographical
            order by callee.
     --iixx    Include external and static data symbols. The default
            is to include only functions in the flowgraph.
     --ii_    Include names that  begin  with  an  underscore.  The
            default  is  to  exclude these functions (and data if
            --iixx is used).
     --ddnum  The num decimal integer indicates the depth at  which
            the  flowgraph is cut off.  By default this number is
            very large.  Attempts to set the cutoff  depth  to  a
            nonpositive integer will be ignored.
SEE ALSO
     as(1), cc(1) lex(1), lint(1), nm(1), pr(1), yacc(1)
DIAGNOSTICS
     Complains about multiple definitions and only  believes  the
     first.
NOTES
     Files produced by lleexx and yyaacccc cause the reordering of  line
     number declarations, which can confuse ccffllooww.  To get proper
     results, feed ccffllooww the yyaacccc or lleexx input.
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |