首页 > 解决方案 > 为 c++ 代码/项目生成依赖关系图

问题描述

我有大量的 C++ 代码要从 github 进行探究,如果我可以为代码库生成依赖关系图将会很有帮助。理想情况下,我想知道代码中哪些函数触发了其他函数以及它们位于何处。是否有任何程序/软件可以做到这一点?谢谢

标签: c++cdependenciesdiagram

解决方案


这称为调用图。一种选择是与和cflow一起使用。更多选项可以在以下位置找到:https ://stackoverflow.com/a/17844310/1959808pycflow2dotdot

示例 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

生成以下图像:

1


推荐阅读