有没有办法#define只在Eclipse编辑器窗口中定义的C宏?

时间:2011-09-29 20:05:05

标签: c eclipse-cdt iar

我正在使用Eclipse Galileo和CDT进行针对嵌入式设备的C开发。

与针对μ控制器的许多其他编译器一样,IAR编译器使用Eclipse / CDT无法识别的一些非标准变量类型,并将它们标记为问题。由于这些变量类型是其他变量类型的基础,我使用问题级联到使用非标准类型声明的变量的每一行都被标记为具有语法问题,即使语法正确。这不是一个关键问题,但绝对是一件麻烦事。

  1. Eclipse / CDT中是否有可以添加非标准语法的设置,或者......

  2. Eclipse / CDT中是否有一些预定义的宏,我可以使用#ifdef SECRET_ECLIPSE_MACRO ...之类的东西访问,以便有条件地设置或清除带有违规变量类型定义字符串的宏?

3 个答案:

答案 0 :(得分:3)

嗯,你可以走另一条路。编译代码时定义NOT_ECLIPSE宏,并检查它是否不存在。如果它没有定义,你就在Eclipse中。

答案 1 :(得分:2)

  
    
      

Eclipse / CDT中是否有一些我可以访问的预定义​​宏

    
  

是的,有很多。

查看此页面。 http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_variables.htm

不要忘记检查'SHOW系统变​​量'选项。

答案 2 :(得分:0)

__CDT_PARSER__

在CDT编辑器预处理阶段定义(至少与Indigo SR2一起使用)