利用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
利用Eclipse CDT 阅读C/C++代码的更多相关文章
- 转:利用Eclipse CDT 阅读C/C++代码
转自: https://www.oschina.net/question/234345_41419 排版与说明都很不错,推荐一看.
- 详解小白利用eclipse+CDT+MinGW搭建C++开发环境
安装JDK.安装Eclipse 2.打开Eclipse 找到“help”下的“Eclipse marketplace” 如图: 3.选择相应的C插件: 因为安装过所以显示installe ...
- Eclipse CDT 代码高亮配置
效果图如下: 配置生效方式: 找到CDT的workspace目录中如下文件 X:\workspace\.metadata\.plugins\org.eclipse.core.runtime\.sett ...
- 转: 使用MinGW + Eclipse CDT进行C++开发的配置方法
使用MinGW + Eclipse CDT进行C++开发的配置方法 1 2 3 4 5 6 分步阅读 Eclipse作为开源的IDE,可以用来高效开发Java.C++.C等程序.本文介绍如何在Wind ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- 使用eclipse开发Morphline的Java代码段
背景:morphline是一个轻量级的etl工具.除了提供标准化的方法之外,还可以定制化的开发java片段.定制化的java片段会在加载时被作为一个独立的类编译,对源数据作处理. morphline关 ...
- Eclipse CDT Linux下内存分析 实战历险
C++产品开发,上线集成时,都需要内存泄露.覆盖率等检测,这些在Windows下都有很好的工具,如 Visual Studio: 这个内置了很多的工具 Devpartner: VC6时BoundChe ...
- Spark:利用Eclipse构建Spark集成开发环境
前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...
- Eclipse+CDT+GDB调试android NDK程序(转)
Eclipse+CDT+gdb调试android ndk程序 先介绍一下开发环境,在这个环境下,up主保证是没有问题的. ubuntu 11.10 eclipse 3.7(indego) for ja ...
随机推荐
- [转载]Jupyter notebook调试
原文来自:https://blog.csdn.net/dlhlsc/article/details/84309410 jupyter的调试是通过python自带的pdb库来实现的. 下面讲一下在not ...
- 解决:centos配置ssh免密码登录后仍要输入密码
转自https://www.jb51.net/article/121180.htm 第一步:在本机中创建秘钥 1.执行命令:ssh-keygen -t rsa 2.之后一路回车就行啦:会在-(home ...
- 异步分布式队列Celery
异步分布式队列Celery 转载地址 Celery 是什么? 官网 Celery 是一个由 Python 编写的简单.灵活.可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具 ...
- ansible 的file 模块
创建.修改.删除文件或者目录: file模块 file模块常用的几个参数:state.path.src.dest.mode.owner.group.name.recurse state后面跟的参数: ...
- lnmp 环境搭建后,pathinfo 模式支持的配制。
ThinkPHP的四种URL模式:0(普通模式);1(PATHINFO模式);2(REWRITE模式);3(兼容模式) nginx需要PATHINFO模式,但需要更改nginx配置文件让其支持PATH ...
- 利用python自动发邮件
工作中有时长时间运行代码时需要监控进度,或者需要定期发送固定格式邮件时,可以使用下面定义的邮件函数. 该函数调用了outlook和qqmail的接口,只需要放置到python的环境目录中即可 impo ...
- PAT Basic 1047 编程团体赛 (20 分)
编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正 ...
- liunx weblogic服务启停脚本
#!/bin/bash #sh xx.sh start xx项目 例如:sh autoWeblogic.sh start bius #经测试发现weblogic 启动大概需要完全启动成功35秒左右 停 ...
- P1058 立体图题解
小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请你帮他画出立体图. 小渊有一块面积为m \times nm×n的矩形区域,上面有m \times ...
- 【转】encodeURI和decodeURI方法
为什么要两次调用encodeURI来解决乱码问题 https://blog.csdn.net/howlaa/article/details/12834595 请注意 encodeURIComponen ...