c++ - Eclipse CDT ast 和模型包之间的区别

标签 c++ c eclipse eclipse-cdt

作为研究项目的一部分,我使用 Eclipse CDT 分析 C/C++ 源代码。我注意到 CDT 的 API有两个“可访问”接口(interface)包:

(1) 包裹org.eclipse.cdt.core.dom.ast

(2) 包裹org.eclipse.cdt.core.model

我假设 (1) 是为了遍历 AST,但 (2) 的目的是什么?

最佳答案

“模型”是一个没有 AST 详细的源代码模型。它对变量、函数、类和预处理器指令等实体建模,但不对语句和表达式等其他事物建模。它用于生成大纲 View 、项目资源管理器的内容以及一些其他 View (如调用层次结构和类型层次结构)中的条目。

我相信该模型早于 AST,并且至少可以重写它的某些用途以使用 AST。

关于c++ - Eclipse CDT ast 和模型包之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40526321/

相关文章:

c++ - 为什么 printf 将 8 位字符填充为 32 位字符?

c++ - 澄清 CSingleLock 的作用及其使用的同步对象

c - 在c中用括号连续打印

创建一个生成 Unity3D 应用程序的程序

java - Eclipse Gradle集成无法正常工作

eclipse - 如何在 Eclipse 中使用 fxml?

c++ - 链接目标文件和静态库时出现多重定义错误

c++ - 使用 exec 在新进程中执行系统命令

c - 初始化零填充数组的运行时

java - 如何让 Cobertura/Emma 与 Eclipse 应用程序完美配合?