zoukankan      html  css  js  c++  java
  • cflow——生成C 语言流程图的工具

    'GNU cflow' analyzes a collection of C source files and prints a graph charting control flow within the program. It can produce both direct and inverted flowgraphs for C sources, or optionally generate a cross-reference listing. It implements either POSIX or GNU (extended) output formats. Input files can optionally be preprocessed before analyzing. The package also provides an Emacs major mode, so users can examine the produced flowcharts in Emacs.

    An example to use cflow

    source code:

      /* whoami.c - a simple implementation of whoami utility */
         #include <pwd.h>
         #include <sys/types.h>
         #include <stdio.h>
         #include <stdlib.h>
         
         int
         who_am_i (void)
         {
           struct passwd *pw;
           char *user = NULL;
         
           pw = getpwuid (geteuid ());
           if (pw)
             user = pw->pw_name;
           else if ((user = getenv ("USER")) == NULL)
             {
               fprintf (stderr, "I don't know!\n");
               return 1;
             }
           printf ("%s\n", user);
           return 0;
         }
         
         int
         main (int argc, char **argv)
         {
           if (argc > 1)
             {
               fprintf (stderr, "usage: whoami\n");
               return 1;
             }
           return who_am_i ();
         }
    

    Running cflow produces the following output:

         $ cflow whoami.c
         main() <int main (int argc,char **argv) at whoami.c:26>:
             fprintf()
             who_am_i() <int who_am_i (void) at whoami.c:8>:
                 getpwuid()
                 geteuid()
                 getenv()
                 fprintf()
                 printf()

    Seeing more details visit: http://www.gnu.org/software/cflow/

  • 相关阅读:
    宽带上网路由器设置
    ssh 与 irc
    Centos7 wifi
    linux无法挂载u盘
    virtualbox之usb设备的分配
    5G工程师必备!5G协议清单大全
    SSB的时频资源怎么确定的?UE那边怎么检测呢?
    link
    C++有用link
    C++学习路线转载
  • 原文地址:https://www.cnblogs.com/feisky/p/1681999.html
Copyright © 2011-2022 走看看