我正在尝试理解 C++ 代码库。我使用了一些免费的工具来扫描代码并生成图表,但它们并不那么容易理解。
我认为有用的是在 UML 工具的帮助下手动构建一些东西。
我需要的是在运行时创建一些看起来像数据结构的东西。理想情况下,通过从 UML 中提取对象并对其进行排列。我也想在子包中组织这些类——比如那些靠近数据库的类,或者靠近数据结构的分支。
(我现在部分地使用 Visual Studio 解决方案资源管理器中的文件夹执行此操作)
这是一个包含许多 Makefile 的 LINUX 项目,但是当我使用我正在处理的 exe 的主目录中的文件创建项目时,许多工具(如 Visual Studio)“理解”代码
最佳答案
大多数工具只会为您提供结构 View (类和包),老实说,它不会告诉您运行时发生的大部分事情。
Sparx Systems 的 Enterprise Architect 整合了一个 Visual Execution Analyzer ,它可以从调试 session 生成序列图。它支持 C++,但仅在 Windows 上,因此您必须重新构建,但如果我理解正确的话,您已经在 Visual Studio 中运行了代码。
Here's a brief demo (在这种情况下,代码是用 C# 编写的,但他们确实声称也支持 C++)。这不是一个完整的往返、在 UML 中编写代码的事情,但我个人认为无论如何这是一个白日梦。使用 UML 来记录,使用编程语言来编码。
关于c++ - 使用 UML 工具理解 C++ 代码库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6899125/