我想在Eclipse解析源代码树时只包含一些代码。目前,我在做什么^ H ^ H ^ H ^ H ^ H尝试做的是添加一个自定义预处理器宏 - 使用Eclipse的帮助|偏好| C / C ++ |建立|设置发现 - 并在其中的各种命令行中插入-DECLIPSE_BUILTIN
。
所以我想知道是否已经存在一个标准的,默认的宏,预处理器(和索引器?)定义为像代码一样“识别”它们 - 以免给我带来麻烦。
答案 0 :(得分:6)
是的,这样的宏存在。它是__CDT_PARSER__
。
编辑以澄清何时在显示错误和警告指示符的情况下使用它:
CDT从两个来源获得错误和警告指标:
它可以解析构建的输出,识别输出中的错误和警告,并在编辑器中显示它们。
这些错误和警告指示符包含注释类型Errors
和Warnings
(您可以在Preferences | General | Editors | Text Editors | Annotations
中看到不同的注释类型,包括每种类型的图标)。
为此目的解析其输出的构建与生成目标文件的构建相同(并且这些指示符仅在您调用构建时更新,例如通过Project | Build Project
)。因此,__CDT_PARSER__
不用于此版本。
它可以使用自己的解析器分析您的代码,并指出它发现的错误和警告。这与您的编译器无关,并在您键入时发生。
这会生成错误和警告指示符,其注释类型为Codan Errors
和Codan Warnings
(“codan”, cod e a alysis的缩写,是产生这些的组件)。语法错误也有C/C++ Indexer Markers
,这些错误是在解析过程中产生的。
当然,确实使用__CDT_PARSER__
。
请注意,CDT的代码分析并未捕获编译器执行的所有错误(或警告)。还有可能产生误报错误或警告,这通常是由于索引器配置与构建配置不匹配而发生的,但有时也会因CDT本身的错误或缺陷而发生。
< / LI> 醇>编辑为了进一步说明,索引器使用与codan相同的解析器(定义{{1}}并且全部)来构建索引。 (实际上,索引器和解析器实际上是不可分离的,因为解析器在解析期间依赖索引来解析包含的头文件中定义的名称。)