c++ - 为 c++ 代码/项目生成依赖关系图
问题描述
我有大量的 C++ 代码要从 github 进行探究,如果我可以为代码库生成依赖关系图将会很有帮助。理想情况下,我想知道代码中哪些函数触发了其他函数以及它们位于何处。是否有任何程序/软件可以做到这一点?谢谢
解决方案
这称为调用图。一种选择是与和cflow
一起使用。更多选项可以在以下位置找到:https ://stackoverflow.com/a/17844310/1959808pycflow2dot
dot
示例 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
生成以下图像:
推荐阅读
- android - 数据未显示在使用 firebase ui 的 firebase 的 recyclerview 中
- python - for循环和追加的Python问题
- ansible - 如何在使用 terraform 创建的 kmv 中运行 ansible playbook
- debugging - How to run and debug a snap application with GDB?
- javascript - TypeError:无法读取未定义的属性“get”-Vue-resource 和 Nuxt
- node.js - Nodemon 已安装,但不运行服务器
- typescript - 在 gatsby 中将 typescript 标记的联合添加到 graphql 查询的结果
- php - 无法访问对象的键,因为 php CI 假定它是 php 语法
- javascript - 时钟一直使用一位数字
- visual-studio-code - 如何使 vscode 为嵌入在 HTML 文件中的 js 代码“转到定义”?