C++/Objective-C - 如何分析一个大项目(Unix 方式)?

发布于 2024-12-19 13:51:42 字数 1539 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

离旧人 2024-12-26 13:51:42

当我上次搜索时,Doxygen 是我能找到的最接近的。它不是unix方式,但它可以免费用于linux/windows/mac。它为我生成了下降图。希望有帮助。

http://www.doxygen.nl/

http://en.wikipedia.org/wiki/Doxygen

Doxygen is the closest i could find, when i was searching last time. It is not unix way, but it is available free for linux/windows/mac. It generated descent graphs for me. Hope it helps.

http://www.doxygen.nl/

http://en.wikipedia.org/wiki/Doxygen

空城仅有旧梦在 2024-12-26 13:51:42

随着消息传递和动态调度的出现,你几乎被搞砸了。它甚至不依赖于语言,消息在 C++ 世界中也被使用。没有任何工具可以分析代码并判断应用程序流程是什么样子。在这些情况下,整个数据/执行流程可能取决于配置文件、如何将生产者/消费者连接在一起等……并且会发生显着变化。如果你幸运的话,会有一些高级文档,可能包含图片和总体想法的描述等。否则,这里唯一的选择是在调试器下针对任何给定的配置运行它,看看那里发生了什么,步骤一步一步。这不是真正的 UNIX 方式吗?

With message passing and dynamic dispatch going around you are pretty much screwed. It doesn't even depend on language, message is as well used in C++ world. There is no tool that can analyze the code and tell what the application flow will look like. In those cases, the whole data/execution flow may depend on configuration files, how you hook up producers/consumers together etc.. and change significantly. If you are lucky, there would be some high-level documentation, maybe with pictures and description of overall ideas etc. Otherwise, the only option here is to run it under debugger for any given configuration and see what is going on in there, step by step. Isn't that a true UNIX way?

嘴硬脾气大 2024-12-26 13:51:42

您的请求是各种视图,一些基于文本,一些基于结构。

您可能会考虑了解 C++,它混合了这些功能。不知道 ObjectiveC 是否可行。

我们的源代码搜索引擎(SCSE) 相当有限,但提供了一种更快的方法“grep”比 grep 更重要。对于大型代码库来说这很重要。它将处理多种语言和方言。我们没有 Objective C 方言,但我认为我们的 C 或 C++ 前端实际上可以很好地工作,因为 Objective C 使用几乎相同的词法语法。

Your request is for a variety of views, some text-based, some structure based.

You might consider Understand for C++ which does a mixture of these. Don't know if it does ObjectiveC.

Our Source Code Search Engine (SCSE) is rather more limited, but provides a much faster way to "grep" than grep does. For large code bases this matters. It will handle multiple languages and dialects. We don't have an Objective C dialect, but I think our C or C++ front ends would actually work pretty well for this, since Objective C uses pretty much the same lexical syntax.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文