利用Eclipse CDT 阅读C/C++代码
来源:互联网 发布:旅游订票网站php模板 编辑:程序博客网 时间:2024/05/16 10:36
目录(?)[-]
- 源码阅读过程
- 快捷键总结
常见阅读代码的工具有 , 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++代码
- 利用Eclipse CDT 阅读C/C++代码
- 利用Eclipse CDT 阅读C/C++代码
- [C++] Eclipse CDT代码自动提示
- Eclipse代码提示功能设置(Java & Eclipse+CDT C/C++)
- ubuntu eclipse c/c++ cdt
- Eclipse C/C++(CDT)开发环境安装
- Unbutn eclipse CDT (c/c++)
- Eclipse与C/C++代码阅读
- 用Eclipse + CDT开发C/C++
- Eclipse CDT C/C++ 配置小结
- Eclipse CDT 配置C/C++ 编译环境
- eclipse开发c/c++程序cdt
- Eclipse安装CDT开发C/C++
- cygwin,cdt,eclipse搭建c,cpp环境
- 安装CDT | eclipse 加入C/C++支持
- Eclipse添加CDT C/C++开发插件
- Eclipse Java注释模板设置详解
- regionprops函数用法详解
- w3cschool的jQuery Mobile教程总结
- Java web基础总结九之—— jsp标签
- 好代码的科学定义
- 利用Eclipse CDT 阅读C/C++代码
- soj 4421 最长回文子序列
- C/C++中的sort()函数,,,,,,,
- arm7和arm9对pc的影响
- Java线程初探
- 数学(论)里的一些定理(莫比乌斯反演,傅立叶变换,数论变换...)
- 内存中堆区和栈区的区别
- Spark(六) -- Spark计算模型
- 网页客户端存储的方式(二)------- cookies 和 IE userData的使用