我正在使用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