利用Eclipse CDT 阅读C/C++代码

本文转自: https://xbgd.iteye.com/blog/1259544

常见阅读代码的工具有 , visual c++, visual studio + va(visual assistant), 以及 source insight, 这几个功能强大的收费软件 , 目前用得非常多 , 尤其是 Source Insight( 以下简称 SI), 是一个不错的跨平台的软件 . 今天推荐的 Eclipse C++ 版本 , 同样也是一个优秀的开源阅读代码的工具 , 其优越性有甚于 SI, 表现在以下几点 .

1.       支持正则表达式快速定位源文件 (SourceInsight 不支持快捷通配符 ) ,

2.       快速发现类之间的继承关系 , 并图形化显示 (vs2005 和 sourceInsight 无此功能 ) ,

3.       快速找到函数间的调用关系 (SourceInsight 无此功能 ).

4.       其它 SourceInsight 提供的功能基本都支持得不错 .

5.       开源并且免费

6.       跨平台软件

首先展示一下这几大不错的功能 .

1.       支持正则表达式定位资源文件 .

如图 , 支持正则表达式 ( 如 * 通配符 ) 的方式查询文件 ( 快捷键 ctrl+shift+R).

2.       快速发现类之间的继承关系 , 并图形化显示

如图 : 选择类名称 , 然后按 (ctrl+T)

3.       快速找到函数间的调用关系

选择函数名称 , 然后按 (ctrl+ALT+ H)

4.       刷选一个 .h 或者 .cpp 文件中的函数名称或者全局变量

Eclipse CDT 提供了类似 SI 的 Outline 窗口,可以看到全部的源文件的结构 , 除此之外,还可以提供给一个可刷选的弹出框 , 同样也可以接受正则表达式 :

5.       总结 , 优点 .

a)         顺推方式下 , SI 和 Eclipse CDT 的功能上没有区别

b)        回溯方式 Eclipse CDT 优于 SI( 查找父类 , 查找调用关系 )

c)        免费和跨平台

源码阅读过程

如果需要分析源文件,可以按照以下步骤来进行 :

1.    建立一个空的 C/C++ 工程

2.    Import 待分析源文件的路径位置 :

然后选中位置 :

3.    点击 Finish 之后,源码分析就开始了 , 这样的分析可以透彻到任何文件,包括二进制的 DLL 文件 .

4.    待文件分析完毕 , 即可以对源码进行阅读 . 可以导入不同位置的源码

5.    在 VS/VC 的工作环境中 , 可通过 Eclipse CDT 编写源码, 利用 VS 编译运行。

快捷键总结

1.  查找声明 : F3 ( 或者 Ctrl 加鼠标左键点击 )

2.  头文件和源文件切换 . Ctrl +Tab

3.  查看类继承关系图 Ctrl +T

4.  查找源文件 Ctrl +Shift+R

5.  查找字段 Ctrl +H

6.  查找文件的函数或者全局变量 Ctrl +O

7.  查找被引用的位置 Ctrl + Shift + G

原文地址:https://www.cnblogs.com/do-your-best/p/10977552.html

时间: 2024-07-31 14:34:08

利用Eclipse CDT 阅读C/C++代码的相关文章

详解小白利用eclipse+CDT+MinGW搭建C++开发环境

安装JDK.安装Eclipse     2.打开Eclipse 找到“help”下的“Eclipse marketplace” 如图:    3.选择相应的C插件: 因为安装过所以显示installed,如果之前没有安装点击install,按照默认操作即可完成安装 4.切换到C++模式 如图:点击右上角C/C++图标即可实现切换 现在是不是觉得可以写程序了?Too young too simple! 还要配置环境变量 5.下载Min GW 我下载过很多MinGW,好多是没法用的,我已经把我能正常

源码阅读与分析一:利用eclipse查看ssh等源码

要阅读开源框架代码,阅读class文件,我们一般有两种方法 1.利用maven进行相关操作 2.下载jar包的源码包进行导入阅读 这里我采用的是第二种 具体步骤如下: 一:这里如果我们要阅读struts源码,首先到官方下载,这里推荐下载all包,就是包含docs,src,lib的包,当然你也可以只下载lib和src包,lib包为我们的jar包,就是平常需要导入项目的,src包为jar包的源码包,里面包含所有jar包的.java源文件,docs则是我们的文档,里面包含struts的使用说明文档 首

ubuntu 下 eclipse CDT代码提示框背景颜色修改

原生态的ubuntu下eclipse 代码提示框的背景颜色是黑背景,前景颜色是白的,所以看起来特别不舒服,很难辨别的清楚,所以查询了资料想修改成Windows下的样子.通过查资料所知,通过修改eclipse里面的设置是不成功的,必须得修改Ubuntu的主题来解决这个问题. 原生态的代码提示框的颜色为: 由此可以知道,这是很难看的,经过调整下,颜色背景为: 修改步骤为: 1,打开/usr/share/themes/Ambiance/gtk-2.0/gtkrc 此步骤必须要该文件的读写权限,可以通过

为Eclipse CDT添加自动代码提示功能

1.前言 在使用Eclipse CDT的过程中,如果要使用代码提示功能,有2种方法: 设置触发字符,输入这些字符后会自动触发代码提示 使用快捷键 ALT+/,手动触发该功能 方法1的设置方法如下图,可以设置 . -> :: 三种触发类型. 但是对于其他C/C++好用的IDE,这种方式显然有点弱,那么如何将它改造成全自动提示呢? 方法是修改CDT... 2.CDT开发环境搭建 本文的开发环境是Manjaro,需要安装git,maven yay -S git yay -S mavengit clon

Ubuntu Eclipse CDT 相关操作

1. 将 elipse cdt 加入到左侧程序启动栏 在 /usr/share/applications 下输入 sudo gedit eclipse.desktop, 然后输入 [Desktop Entry]Version=1.0Name=eclipseExec=/home/ck/eclipse/eclipseTerminal=falseIcon=/home/ck/eclipse/notice.xpmType=ApplicationCategories=Development 保存, sudo

linux + eclipse + cdt 报错undefined reference......好麻烦的,这位大牛给出的方法可行,特此MARK!!!!

http://bbs.csdn.net/topics/390239632 kerosun kerosun 等级: 结帖率:96.92% 楼主 发表于: 2012-10-11 12:00:51 比如有一个tools工程,提供给其他工程通用的工具函数. 我现在的做法就只能是ctrl+c|ctrl+v一旦工具函数发生变化,还需要在用到这些函数的工程中更新,比较麻烦. 看到eclipse工程属性设置中有Project References,但是一直不会用.那位好心人能说说怎样实现我的需求. 更多0分享到

使用Eclipse创建模板并格式化代码

eclipse设置方式: window-preferences-->java-code Style-formatter 在编写完代码后使用代码格式化程序对代码进行格式化,有利于版本冲突时进行对比和文件合并.想到当前代码编写格式多少有些太个性化,如果可以创建一份代码模板,将之导入到所有人的工具中,然后所有的代码在编写后都进行格式化,则避免了代码格式太混乱的情况,有利于大家阅读代码. Eclipse有内置的代码格式化程序和模板,也可以创建自己的模板: 在菜单栏中选中『窗口』-〉『首选项』.在出现的对

tomcat开发远程调试端口以及利用eclipse进行远程调试

一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 Linux系统 在catalina.sh里:  CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compile

VS2005工程迁移到Eclipse CDT

原工程在VS2005下创建,后迁移到Eclipse CDT 3.3.2 + MingGW下,并增加makefile文件. 原VS2005下工程Sample,实现了对类SampleClass封装,生成Sample.dll文件.工程源码文件包括stdafx.h, stdafx.cpp, targetver.h, dllmain.cpp, Sample.def, Sample.h, Sample.cpp, SampleClass.h, SampleClass.cpp.其中stdafx.h, stdaf