2010-04-08 17 views
11

Ho configurato CEDET per emacs dopo Alex article (ottimo !!). Ora, le domande:Emacs, Cedet e semantico

GTAGS
  1. ho generato con Gnu globale nella mia /usr/include, come posso verificare se semantica sta usando GTAGS?
  2. Posso tenere il mio GTAGS in un'altra directory e istruire semantico ad usare quella dir?
  3. Nelle origini C/C++, il completamento dell'istruzione include (dalle intestazioni del sistema ) non elenca tutte le intestazioni disponibili. Ok, questo è uno stupido problema .. ma mi fa pensare che qualcosa non funziona correttamente

risposta

16

È possibile utilizzare il comando:

M-x semantic-c-describe-environment RET 

per scoprire circa il vostro percorso di inclusione e le impostazioni macro CPP.

Per provare GNU uso globale, è possibile utilizzare:

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

per la ricerca di "printf" in in qualche progetto. Dal momento che il tuo progetto (forse in/home/tu/myproject) non ha printf in esso, fallirà, ma se hai aperto un file in/usr/include e hai fatto lo stesso comando, si spera che identifichi printf.

Un modo più generale per chiedere di GNU globale è con:

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

Che tutti ha detto, il supporto GNU globale è migliore nelle situazioni in cui si desidera avere un sacco di file preparsed cui si accede di rado . Una volta che si accede a un'intestazione una sola volta (come per printf), il database GNU Global non sarà più utilizzato, perché per esso è stato creato un database semantico equivalente. Questo è necessario perché GNU Global non fornisce informazioni sufficienti per eseguire il completamento intelligente.