为 c++ 生成依赖关系图 codes/projects
Generate a dependency diagram for c++ codes/projects
我有大量的 C++ 代码需要从 github 中探究,如果我能为代码库生成依赖关系图,那将会很有帮助。理想情况下,我想知道什么函数触发代码中的其他函数以及它们位于何处。有没有 program/software 可以做到这一点?
谢谢
这叫做call graph. One option is cflow
together with pycflow2dot
and dot
. More options can be found at:
示例 C 文件:
/*
* simple demo for pycflow2dot, use with:
* cflow2dot -i example.c -f png
* for help:
* cflow2dot -h
*/
#include <stdio.h>
void say_hello(char *s)
{
printf(s);
}
void hello_1()
{
say_hello("Hello 1 !\n");
}
void hello_2()
{
say_hello("Hello 2 !\n");
}
int main(void)
{
hello_1();
hello_2();
}
从这个文件,使用命令:
cflow2dot -i example.c -f png
生成如下图像:
我有大量的 C++ 代码需要从 github 中探究,如果我能为代码库生成依赖关系图,那将会很有帮助。理想情况下,我想知道什么函数触发代码中的其他函数以及它们位于何处。有没有 program/software 可以做到这一点? 谢谢
这叫做call graph. One option is cflow
together with pycflow2dot
and dot
. More options can be found at:
示例 C 文件:
/*
* simple demo for pycflow2dot, use with:
* cflow2dot -i example.c -f png
* for help:
* cflow2dot -h
*/
#include <stdio.h>
void say_hello(char *s)
{
printf(s);
}
void hello_1()
{
say_hello("Hello 1 !\n");
}
void hello_2()
{
say_hello("Hello 2 !\n");
}
int main(void)
{
hello_1();
hello_2();
}
从这个文件,使用命令:
cflow2dot -i example.c -f png
生成如下图像: