本文转自: 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

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

  1. 转:利用Eclipse CDT 阅读C/C++代码

    转自: https://www.oschina.net/question/234345_41419 排版与说明都很不错,推荐一看.

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

    安装JDK.安装Eclipse     2.打开Eclipse 找到“help”下的“Eclipse marketplace” 如图:    3.选择相应的C插件: 因为安装过所以显示installe ...

  3. Eclipse CDT 代码高亮配置

    效果图如下: 配置生效方式: 找到CDT的workspace目录中如下文件 X:\workspace\.metadata\.plugins\org.eclipse.core.runtime\.sett ...

  4. 转: 使用MinGW + Eclipse CDT进行C++开发的配置方法

    使用MinGW + Eclipse CDT进行C++开发的配置方法 1 2 3 4 5 6 分步阅读 Eclipse作为开源的IDE,可以用来高效开发Java.C++.C等程序.本文介绍如何在Wind ...

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

    一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...

  6. 使用eclipse开发Morphline的Java代码段

    背景:morphline是一个轻量级的etl工具.除了提供标准化的方法之外,还可以定制化的开发java片段.定制化的java片段会在加载时被作为一个独立的类编译,对源数据作处理. morphline关 ...

  7. Eclipse CDT Linux下内存分析 实战历险

    C++产品开发,上线集成时,都需要内存泄露.覆盖率等检测,这些在Windows下都有很好的工具,如 Visual Studio: 这个内置了很多的工具 Devpartner: VC6时BoundChe ...

  8. Spark:利用Eclipse构建Spark集成开发环境

    前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...

  9. Eclipse+CDT+GDB调试android NDK程序(转)

    Eclipse+CDT+gdb调试android ndk程序 先介绍一下开发环境,在这个环境下,up主保证是没有问题的. ubuntu 11.10 eclipse 3.7(indego) for ja ...

随机推荐

  1. 解决 "Could not autowire. No beans of 'SationMapper' type found" 的问题

    网上查找的方法,附上原文链接:https://blog.csdn.net/Coder_Knight/article/details/83999139 方法1:在mapper文件上加@Repositor ...

  2. Git 生成.gitinore忽略文件

    Git  生成.gitinore忽略文件 CD到指定目录下: touch .gitinore .gitinore忽略文件 三种方法: # 以'#'开始的行,被视为注释.(#是注释的意思) # 忽略掉所 ...

  3. TensorFlow基础与实战

    开源工具 TensorFlow:谷歌,C++.Python,Linux.Windows.Mac OS X.Andriod.iOS Caffe:加州大学,C++.Python.Matlab,Linux. ...

  4. java gRPC四种服务类型简单示例

    一.gRPC 简介 gRPC 是Go实现的:一个高性能,开源,将移动和HTTP/2放在首位通用的RPC框架.使用gRPC可以在客户端调用不同机器上的服务端的方法,而客户端和服务端的开发语言和 运行环境 ...

  5. pycharm解释器链接如何pymongo

    1.pymongo 链接数据库 # pycharm 链接我们的mogodb # 下载pymongo from pymongo import MongoClient # 客户端请求 服务端 # 链接 c ...

  6. 页面中获取 iframe 中的值

    3.页面中获取 iframe 中的值 var obj=document.getElementsByClassName(".ke-edit-iframe").contentWindo ...

  7. 重置Brocade光纤交换机的管理IP地址

     1.使用串口登录光纤交换机 使用RS/232 (9针)串口连接线将笔记本连至交换机的串口. 输入以下参数: Bits per second (每秒位数): 9600 Data Bits (数据位): ...

  8. python_实现选课系统

    校园管理系统 角色: 学校.学员.课程.讲师 要求: 1. 创建北京.上海 2 所学校 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开 3 ...

  9. Codeforces 979 字符串强制N变换最多出现字母 DFS子树 暴力01字典树

    A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...

  10. 在vue下引入jquery bootstrap

    在vue 项目中引入jquery bootstrap 引入jquery npm install jquery --save-dev 在项目根目录下的build/webpack.base.conf.js ...