Как я могу заставить Eclipse индексировать код внутри #ifdef … #endif

Я использую затмение для работы над некоторым кодом c, и это не индексирует код в блоках условной компиляции как это:

#ifdef USE_FEATURE_A
int feature_a(...) {
   some = code(here);
}
#endif

Как я могу заставить затмение индексировать функцию feature_a?

28
задан Arthur Ulfeldt 25 June 2010 в 22:48
поделиться

1 ответ

Вы можете сказать eclipse, что USE_FEATURE_A определено. Откройте свойства проекта и перейдите на страницу «C / C ++ General-> Paths and Symbols», на вкладке «Symbols» нажмите кнопку «Добавить», введите USE_FEATURE_A в имя feild и нажмите OK.

Примечание: это приведет к тому, что он не будет индексировать какие-либо #else стороны вашего препроцессора ... так что, если все они не похожи на рассматриваемый, вы не можете AFAIK, но если они ты в порядке. (Eclipse содержит препроцессор C, который он использует для анализа вашего кода, все вышеперечисленное, по сути, такое же, как добавление -DUSE_FEATURE_A в вашу командную строку, поэтому препроцессор Eclipse будет вести себя иначе, чем в вашем компиляторе)

32
ответ дан 28 November 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: