我正在使用Eclipse Galileo和CDT进行针对嵌入式设备的C开发。与很多针对μcontrollers的其他编译器一样,IAR编译器使用Eclipse/CDT无法识别的一些非标准变量类型,并将它们标记为问题。由于这些变量类型是其他变量类型的基础,因此我使用问题级联,即使使用非标准类型声明的变量的每一行都被标记为具有语法问题,即使语法正确。这不是一个关键问题,但它绝对是一个麻烦。有没有办法#define只在Eclipse编辑器窗口中定义的C宏?
是否存在的Eclipse/CDT内的设置,我可以添加非标准语法,或...
是否存在的Eclipse/CDT内的一些预定义宏,我可以像
#ifdef SECRET_ECLIPSE_MACRO ...
访问有条件地设置或清除有问题的变量类型定义的字符串宏?
+1,但我认为甚至可以更进一步。有问题的编译器可能通过宏'__IAR ___'来标识自己,无论如何。我们可以在'#ifndef __IAR__'中放置类型的伪定义。 –
@JensGustedt:+1你是对的。 [This page](http://predef.sourceforge.net/precomp.html)有许多不同编译器预定义宏的列表,包括'__IAR_SYSTEMS_ICC__'。 – oosterwal