Есть ли способ # определить макрос C, который определяется только в окне редактора Eclipse? - PullRequest
0 голосов
/ 30 сентября 2011

Я использую Eclipse Galileo с CDT для разработки на C, ориентированной на встраиваемые устройства.

Как и многие другие компиляторы, предназначенные для микроконтроллеров, компилятор IAR использует некоторые нестандартные типы переменных, которые Eclipse / CDT не распознает, и помечает их как проблемы. Поскольку эти типы переменных являются основой других типов переменных, я использую каскады проблем до такой степени, что почти каждая строка, использующая переменные, объявленные с нестандартными типами, помечается как имеющая проблемы с синтаксисом, даже когда синтаксис правильный. Это не критическая проблема, но это определенно неприятность.

  1. Есть ли в Eclipse / CDT параметр, в который я могу добавить нестандартный синтаксис, или ...

  2. Есть ли в Eclipse / CDT какой-то предопределенный макрос, к которому я могу получить доступ с помощью чего-то вроде #ifdef SECRET_ECLIPSE_MACRO ... для условной установки или очистки макроса со строкой определения типа изменяемой переменной?

Ответы [ 3 ]

3 голосов
/ 30 сентября 2011

Ну, вы можете пойти другим путем. Определите макрос NOT_ECLIPSE при компиляции кода и проверьте его на отсутствие. Если он не определен, значит, вы в Eclipse.

2 голосов
/ 30 сентября 2011

Есть ли в Eclipse / CDT какой-то предопределенный макрос, к которому я могу получить доступ

Да, их много.

Смотрите эту страницу.http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_variables.htm

Не забудьте проверить опцию «Показывать системные переменные».

0 голосов
/ 04 октября 2016
__CDT_PARSER__

определяется на этапе предварительной обработки редактора CDT (работает как минимум с Indigo SR2)

...