Emacs, Cedet и семантические - PullRequest
       24

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

11 голосов
/ 08 апреля 2010

Я настроил CEDET для emacs после Статья Алекса (отлично !!). Теперь вопросы:

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

1 Ответ

16 голосов
/ 09 апреля 2010

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

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

...