我能够使用gnu-cflow生成一个文件的调用图,但是我无法找到如何使用cflow生成多个文件的调用图的方法。

我尝试了以下

  • cflow test.c,hello.c

    它为test.c生成调用图,而不为hello.c创建它。
  • cflow test.c hello.c

    它为hello.c生成调用图,而不为test.c生成调用图。

  • 我不知道如何将多个文件传递给cflow。

    关于这个有什么想法吗?

    你好ç
    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);
         unused_function();
         return 0;
     }
    
     int
     main (int argc, char **argv)
     {
         if (argc > 1)
         {
             fprintf (stderr, "usage: whoami\n");
             return 1;
         }
         return who_am_i ();
     }
     void unused_function()
     {
         printf();
         error1();
         printf();
     }
     void error1()
     {
         error2();
     }
     void error2()
     {
    
     }
    

    测试
    int tests()
    { return 0;}
    

    最佳答案

  • cflow test.c hello.c

  • 实际上,以上语句是正确的,并且test()不会显示在调用图中,因为它从未被调用过。

    @AndreasGrapentin给出的答案

    关于c - 如何给一个以上的c文件作为GNU Cflow的输入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15265600/

    10-08 23:13