首页 / 知识

关于浏览器:什么是帮助浏览/遵循C代码的好工具?

2023-04-15 16:24:00

关于浏览器:什么是帮助浏览/遵循C代码的好工具?

What is a good tool to aid in browsing/following C code?

有时我需要修改OSS代码或其他人的代码(通常基于C,但有时是C ++ / Java),并发现自己在类型,函数声明等的标头中" grep",因为我遵循代码流程并尝试理解系统 。 是否存在一个有助于代码浏览的好工具。 我希望能够单击一个类型并带到声明中,或者单击一个函数名并带到其实现中。 我在Linux机器上,因此诸如"仅使用Visual Studio"之类的回复不一定对我有用。 谢谢!


您无法获得比SourceInsight更好的东西。


我将Vim与ctags和taglist插件一起使用。您可以将光标移动到变量名,并使用组合键将您带到变量的声明(并返回)。标签列表还将在侧栏中显示所有功能,类等的概述。


我听说过有关OpenGrok的惊人事情。我知道在我工作的地方有另一个团队正在使用它,他们很容易找到它。从其网站:

OpenGrok is a fast and usable source
code search and cross reference
engine. It helps you search,
cross-reference and navigate your
source tree. It can understand various
program file formats and version
control histories like Mercurial, Git,
SCCS, RCS, CVS, Subversion, Teamware,
ClearCase, Perforce and Bazaar. In
other words it lets you grok
(profoundly understand) the open
source, hence the name OpenGrok. It is
written in Java.


Doxygen可以生成一组包含源浏览器的网页。不像IDE那样花哨,但它需要的只是一个Web浏览器。


Eclipse IDE除Java外还可以使用C / C ++。在IBM的Developer Works站点上有一篇关于如何配置Eclipse进行C / C ++开发的文章。

编辑:为什么这被否决了?这是一个有效的答案。带有C / C ++插件的Eclipse将允许问题作者执行他想做的事情。我不是唯一建议的人,但其他人都没有被否决。那么,为什么这个被否决呢?


我在内核空间做了一些工作,然后继续讨论范围。

例如:

$ cd / usr / src / redhat / BUILD / kernel-version

$ cscope -R -p4

1
2
3
4
5
6
7
8
9
   Find this C symbol:
   Find this function definition:
   Find functions called by this function:
   Find functions calling this function:
   Find this text string:
   Change this text string:
   Find this egrep pattern:
   Find this file:
   Find files #including this file:

在别人的项目上工作时,我通常会"活在" c-scope中。我用它来通过" gvim"(我的IDE)打开文件,编辑内容,然后退出"返回"到c-scope,这有助于我保持任务集中。

我相信cscope可以配置为与vim和emacs一起使用,尽管我已经看到人们也使用其他编辑器。

祝您好运。


Vim和Ctags为我工作。


Doxygen很棒。我已经遇到了一些以前从未使用过的遗留代码库,这对我来说非常棒(即使这些代码库未使用Doxygen格式进行记录)。


选择Doxygen,并将EXTRACT_ALL设置为YES。它既简单又强大。一旦爱上它,就可以在所有平台和语言上坚持使用它。

http://www.doxygen.org


如果您正在寻找简单易用的东西,请尝试使用etags。它不会像重量级的工具那样好,但是它在几乎所有东西上都可以使用,并且可以与emacs一起使用。将ctags用于vi。


ctags非常有用。涉及两个步骤。首先在所有源代码上运行程序ctags并包含目录。这将在本地目录中创建一个名为" tags"的文件。如果所有源都在一个目录中,则ctags * .c * .h会很好。当您在多个目录中使用source时,值得在多个位置运行ctags。然后,在vi中,将光标放在任何函数,定义的类型或变量上,请使用ctl-]转到该实体的定义。如果您正在使用emacs,请使用etags。


我支持使用氧气。

该工具生成了类似一堆html页面的javadoc,允许对所有代码进行索引,在其中进行浏览(此函数在何处使用以及由哪个函数...),就像在IDE中一样。使它工作非常容易。

我曾经维护过15年的C项目的2000个C代码文件。我花了一个小时用doxygen索引代码,为其他开发人员提供了生成的文档。 (我知道,这句话听起来像是加法,但确实如此……这确实是一个很好的工具)

一个很棒的工具,可以在所有类似C的语言上工作。


如果您涉及将HLL代码与Assembly混合在一起的项目,则建议使用Opengrok,我最近转而使用Opengrok,发现它很棒,我认为Opengrok + Firefox + Extensions是最好的组合,一些firefox扩展例如Scrapbook等,可让您在浏览代码时修改和添加注释,同样,这主要是为了"浏览"代码,而不是即时修改代码。


我使用Anjuta IDE。不错。不知道它与Eclipse IDE的比较。


IntelliJ作为Linux下的源浏览器非常不错。它为在源声明和函数声明之间跳转提供了很好的支持。尚未在C / C ++代码中尝试过,但是它在Ruby和Java中很好地工作。


我没有直接使用它,但是我使用了用lxr创建的站点,并认为它非常方便。它使用指向交叉引用功能和文件名的链接,将您的项目转换为行号和交叉引用的HTML文件。这里有一些项目资源索引的示例。

似乎没有比2006年更新的版本,但是它仍然可以满足您的需要。


任何IDE都可以正常工作。
Netbeans和Eclipse基于Java,但是具有C / C ++插件


cscope一直是我的最爱。也有cbrowser,但是我还没有尝试过。 ctags也使用很多。


我使用C ++理解。这是处理大量代码的非常方便的工具。它还可以计算代码统计信息并绘制调用图。
一定有!


使用doxygen取得了巨大的成功。为了获得最佳结果(尤其是在创建c ++文档时),请安装graphviz并在doxygen配置文件中启用。

这将自动生成链接到html文档其余部分的依赖关系图和类图。


即使您不是开发人员,也请使用Source Insight

如果是的话,它必须有:)


cscope。 (想修改其他范围的职位,但我还没有业力)。

  • 全局搜索和替换
  • 查找所有位置的函数
  • 查找函数调用的所有位置
  • 查找包含此文件的文件。

非常简单的用法:$ cscope -R

如果您不知道vi,则将EDITOR和VIEWER环境变量更改为首选编辑器。


我发现ID Utils非常方便。就像即时递归grep。有很多vim食谱可以搭配使用。


我使用并喜欢免费软件工具GNU global。


可以找到对语言敏感的源代码搜索引擎
在SD源代码搜索引擎。它可以同时处理多种语言。
可以搜索特定语言中的模式,
或跨语言的模式(例如"涉及TAX的查找标识符")。
通过对语言标记敏感,可以减少误报的数量,
为用户节省时间。它了解C,C ++,C#,COBOL,Java,ECMAScript,Java,XML,Verilog,VHDL和许多其他语言。


我从这里使用Source-Navigator(TM)。这是非常令人印象深刻的,对您有很大帮助。它是用Tcl / Tk编写的,可以作为Windows的可执行文件,也可以作为可在* nix上构建的源代码。


我使用kscope,它在后台使用cscope,但也提供功能列表等。似乎也可以很好地处理像Linux内核这样的大型项目。的
kscope主页对它的作用和不作用进行了简洁的描述。


浏览工具浏览器修改

最新内容

相关内容

猜你喜欢