没有集成开发环境的编程和探索大型C++项目的源代码

3
我在想,在真实的项目和开源项目中,他们通常不使用集成开发环境(IDE)而是使用自定义的构建脚本,并且他们可能会使用emacs或VIM。我想知道他们如何遍历和搜索特定函数、方法等项目内容,如果他们不理解某个预处理指令或函数出处,他们是否只是使用grep来搜索所有的项目文件?他们肯定有一种高效的方式进行所有这些搜索,请问这里有人知道吗?我个人使用Emacs,如果有人能为这些任务提供正确的方向,我将非常感激。
5个回答

3
对于C/C++,我建议使用GNU Global (gtags) + CEDET。 GTags提供比CTags更好的导航(在我看来),而CEDET的Semantic可以使用GTag的数据库进行导航和查找使用功能。有关设置的更多信息,请参见我的有关CEDET的文章(该文章是针对CEDET 1.1及早期版本编写的。对于最新版本(以及与GNU Emacs捆绑的版本),您可以使用以下配置)。
我个人使用此设置处理大型C++项目(数百万行代码)。

从未听说过全局变量。谢谢。 - keltar
这正是我在寻找的,谢谢。同时也感谢下面的其他人,我不知道有静态分析工具,谢谢! - George Host

1

看看cscope和ctags。在你的情况下,再看看emacs-code-browser。


我相信这会有所帮助,我已经看到我的许多团队成员只是使用终端配合 vim 和 grep 来浏览他们的代码,但我认为这个方式也可以。 - George Host
嗯,我也在使用grep,但项目规模不是很大。如果每个grep都会给我15个以上的结果 - 我想我会坚持使用ctags :-) - keltar

0

1
嗯,这是一种非常不同类型的软件。PVS Studio也很好,但在这里它并没有什么作用。 - keltar

0

在非 IDE 环境下,我喜欢的是:Source Navigator NG

它更适合浏览,但它能很好地完成它的工作。


0

对于像Android源代码这样的非常大型项目,您无法轻松使用grep。我建议改用beagrep。它是一个搜索引擎(beagle)辅助grep。现在我在阅读每个项目时都使用beagrep,无论大小。

请访问在2秒钟内搜索2G源代码


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接