Emacs, Cedet и семантический

Я настроил CEDET для emacs после статьи Alex (большой!!). Теперь, вопросы:

  1. Я генерировал GTAGS с Гну, Глобальной в моем /usr/include, как я могу проверить, если семантический использует GTAGS?
  2. Я могу сохранить свой GTAGS в другом каталоге и дать команду семантический использовать тот dir?
  3. В источниках C/C++ завершение на включает оператор (от системных заголовков), не перечисляет все доступные заголовки. Хорошо, это - глупая проблема.. но заставляет меня думать, что что-то не работает правильно

11
задан tshepang 6 March 2014 в 19:37
поделиться

1 ответ

Вы можете использовать команду:

M-x semantic-c-describe-environment RET

, чтобы узнать о вашем пути включения и настройках макроса CPP.

Чтобы проверить использование GNU Global, вы можете использовать:

M-x semanticdb-test-gnu-global RET printf RET

для поиска «printf» в каком-либо проекте. Поскольку в вашем проекте (возможно, в / home / you / myproject) нет printf, он завершится ошибкой, но если вы открыли файл в / usr / include и выполнили ту же команду, он, надеюсь, определит printf.

Более общий способ задать вопрос о GNU Global:

M-x cedet-gnu-global-version-check RET

Тем не менее, поддержка GNU Global лучше всего подходит в ситуациях, когда вы хотите иметь много-много предварительно проанализированных файлов, к которым вы обращаетесь нечасто. Как только к заголовку обращаются один раз (например, для printf), глобальная база данных GNU больше не будет использоваться, потому что для нее будет создана эквивалентная семантическая база данных. Это необходимо, потому что GNU Global не предоставляет достаточно информации для интеллектуального завершения.

16
ответ дан 3 December 2019 в 07:36
поделиться