引入org.eclipse.cdt.core的插件包后.通过如下代码则可获得某个C++源文件的解析结果
public static IASTTranslationUnit getAST( IFile file) {
ITranslationUnit tu = CoreModelUtil.findTranslationUnit(file);
ICProject project= tu.getCProject();
IASTTranslationUnit ast=null;
try {
IIndex index = CCorePlugin.getIndexManager().getIndex(project,
IIndexManager.ADD_DEPENDENCIES | IIndexManager.ADD_DEPENDENT);
index.acquireReadLock();
try {
ast=tu.getAST(index, 0);
} finally {
index.releaseReadLock();
}
} catch (InterruptedException e) {
//log(e);
} catch (CoreException e) {
//log(e);
}
return ast;
}
再对IASTTranslatonUnit ast调用 getDeclarations()方法即可获得所有的声明信息
CCorePlugin和CoreModelUtil是CDT Core提供的最重要的入口.
TranslatonUnit表示一个编译单元.可以是一个项目.一个文件.文件的一个代码块
IASTTranslatonUnit 是编译单元的AST表示.里面包含了所有的信息
分享到:
相关推荐
下面将详细介绍Eclipse CDT解析C++ AST所涉及的关键知识点。 首先,Eclipse是一个集成开发环境(Integrated Development Environment,简称IDE),支持多种编程语言和编程范式。其中包括C/C++、Java、Scala、PHP、...
### Eclipse CDT (C & C++ Development Tooling) 开发环境的搭建知识点解析 #### 一、概述 本文档详细介绍了如何在Windows环境下搭建Eclipse CDT (C & C++ Development Tooling) 开发环境的过程。该过程主要包括...
Eclipse CDT(C/C++ Development Tools)是Eclipse IDE中的一个核心插件,它为C和C++开发者提供了一套完整的集成开发环境。CDT API文档是专门为那些想要扩展或定制Eclipse CDT功能的程序员准备的,它包含了大量的...
源码中会包含构建配置和解析器的相关代码。 2. **代码编辑器**:CDT提供了强大的C/C++代码编辑器,具备语法高亮、自动完成、错误检查等功能。源码中会有编辑器的核心实现,包括语法解析、自动补全算法等。 3. **...
5. **调试器**:CDT内置了强大的C/C++调试器,支持断点设置、变量查看、调用堆栈分析等,使调试过程更加直观和高效。 6. **代码导航**:通过符号索引和跨文件搜索,CDT帮助开发者快速定位和理解代码结构。 7. **...
1. **CDT简介**:CDT是Eclipse平台上的一个开源项目,为C和C++程序员提供了丰富的开发工具,包括源代码编辑器、构建系统、调试器和项目管理工具。 2. **Eclipse集成**:CDT无缝集成于Eclipse IDE中,使得开发者可以...
Eclipse中的一个重要插件是CDT(C/C++ Development Tooling),它为Eclipse增加了对C/C++程序开发的支持。CDT为开发者提供了必要的工具和功能,如代码编辑、编译、调试以及版本控制等,使得在Eclipse中进行C/C++开发...
在Linux环境下,CDT通过集成传统的调试器GDB,实现了对本地及远程程序的调试能力。然而,标准的CDT插件在进行远程模块调试时遇到了挑战,主要表现为无法准确识别和处理目标设备上的线程信息,导致无法正确显示断点处...
- 使用内置的源代码编辑器编写C或C++代码,Eclipse会自动提供语法高亮、代码补全和错误检测等功能。 - 在源码中设置断点,然后选择“运行”(Run)菜单中的“调试”(Debug)选项来启动调试会话。 - 调试期间,...
在Eclipse中使用CDT(C/C++ ...总之,解决Eclipse中CDT的运行问题通常涉及到检查编译器配置、运行配置、二进制解析器设置以及确保Eclipse能正确识别和找到可执行文件。通过逐步排查,大多数问题都能得到解决。
- 语法高亮:Eclipse CDT会根据C或C++的语法规则对代码进行颜色区分,使代码更易读。 - 代码导航:可以快速跳转到函数定义、头文件包含等,方便查看和理解代码结构。 4. **构建系统** - Makefile支持:对于...
3. 调试程序:在源代码中设置断点,然后选择"Run" -> "Debug As" -> "C/C++ Application",Eclipse会启动调试器,让你可以逐行执行、查看变量值、设置条件断点等。 通过以上步骤,你已经具备了在Eclipse中进行C/C++...
8. **语法解析和高亮**: CDT源码中包含了C/C++的语法解析器和高亮机制。通过研究这部分,开发者可以了解如何实现代码的语法分析,这对于开发其他语言的IDE插件也有借鉴意义。 9. **性能优化**: CDT6.0可能会包含...
C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言, 因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。 因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它...
例如,开发者可以在Eclipse中创建一个新的C/C++项目,编辑源代码,然后通过CDT的构建工具链调用GCC或其他编译器进行编译。如果遇到问题,CDT的调试器(通常与GDB集成)可以帮助定位和解决问题。 在安装和运行CDT前...
- 在弹出的对话框中,选择“Tool Settings”选项卡下的“Tool Chain Editor”,添加一个新的工具链,并选择“GNU ELF Parser”作为解析器。 - 配置完成后,点击Apply and Close保存设置。 #### 四、测试C++项目 ...
2. **编辑器与语法高亮**:CDT的源码包含了C/C++编辑器的实现,包括语法解析、错误检测、自动完成等功能。通过研究这部分代码,可以了解到如何实现一个强大的文本编辑器,并为特定语言提供支持。 3. **构建系统集成...