首页 / 知识
关于浏览器:什么是帮助浏览/遵循C代码的好工具?
2023-04-15 16:24:00

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的惊人事情。我知道在我工作的地方有另一个团队正在使用它,他们很容易找到它。从其网站:
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
在别人的项目上工作时,我通常会"活在" 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都可以正常工作。 cscope一直是我的最爱。也有cbrowser,但是我还没有尝试过。 ctags也使用很多。
我使用C ++理解。这是处理大量代码的非常方便的工具。它还可以计算代码统计信息并绘制调用图。 使用doxygen取得了巨大的成功。为了获得最佳结果(尤其是在创建c ++文档时),请安装graphviz并在doxygen配置文件中启用。 这将自动生成链接到html文档其余部分的依赖关系图和类图。 即使您不是开发人员,也请使用Source Insight 如果是的话,它必须有:) cscope。 (想修改其他范围的职位,但我还没有业力)。
非常简单的用法:$ cscope -R 如果您不知道vi,则将EDITOR和VIEWER环境变量更改为首选编辑器。 我发现ID Utils非常方便。就像即时递归grep。有很多vim食谱可以搭配使用。 我使用并喜欢免费软件工具GNU global。
可以找到对语言敏感的源代码搜索引擎 我从这里使用Source-Navigator(TM)。这是非常令人印象深刻的,对您有很大帮助。它是用Tcl / Tk编写的,可以作为Windows的可执行文件,也可以作为可在* nix上构建的源代码。
我使用kscope,它在后台使用cscope,但也提供功能列表等。似乎也可以很好地处理像Linux内核这样的大型项目。的 |
最新内容
相关内容
linux命令行打开浏览?
linux命令行打开浏览?,系统,网络,网址,工具,密码,首页,服务,网站,数据,地址,linux怎么打开命令行窗口在Linux系统中,打开命令行窗口需要使用终linux系统命令行工具?
linux系统命令行工具?,工具,系统,工作,状态,命令,地方,标准,信息,环境,基础,Linux:Python编写Linux自定义命令工具state是命令执行结果的状态,rlinux中路径修改命令?
linux中路径修改命令?,系统,命令,首次,工作,名称,目录,文件,环境变量,路径,格式,如何修改Linux系统下的PATH1、之前介绍的使用 export 命令设linux修改脚本的命令?
linux修改脚本的命令?,系统,密码,服务,工作,工具,环境,信息,百度,代码,脚本,求一个批量ssh登录linux服务器,修改配置文件的脚本参考一下。_百linux修改命令所属组?
linux修改命令所属组?,系统,信息,档案,工具,状态,文件,命令,设备,检测,环境,linux系统下怎么修改文件所属用户和组?1、linux怎么修改文件所属linux下修改端口命令?
linux下修改端口命令?,代码,服务,端口,系统,文件,编辑,后果,命令,字段,下面,Linux操作系统下SSH默认22端口修改方法假如要改SSH的默认端口(22),那linux修改名称命令?
linux修改名称命令?,系统,名称,图片,查询系统,代码,名字,命令,用户,文件名,批量,linux怎么修改计算机名称1、在提示符下输入vi/etc/hosts,然后linux命令下载工具?
linux命令下载工具?,工具,网络,代理,代码,简介,位置,系统,第一,下载工具,文件,Linux下多线程下载工具MWget和Axel使用介绍1、wget是linux下一linux修改时区的命令?
linux修改时区的命令?,时间,系统,大陆,国家,标准,时区,命令,日期,终端,方法,Linux中如何查看修改系统的时间和时区目录方法1:使用命令行打开终linux网络修改命令?
linux网络修改命令?,地址,网络,系统,工作,服务,代码,管理,命令,工具,设备,Linux必学的网络操作命令Linux的网络命令比较多,其中一些命令像pinglinux好用的命令工具?
linux好用的命令工具?,系统,管理,工具,基础,服务,信息,工作,发行,公司,代码,Linux系统中进行磁盘管理的常用命令有哪些?分别有什么功能Linux磁linux下命令行浏览器?
linux下命令行浏览器?,地址,传播,工具,网站,软件,发行,网址,首次,官网,系统,linux在命令符界面如何浏览网页1、linux系统下命令行访问网页是cu