2010-04-08 70 views
11

我已經爲emacs配置了CEDET後Alex article(偉大!!)。 現在,問題:Emacs,Cedet和語義

  1. 我已經生成GTAGS使用GNU全球在我/usr/include,我怎麼能檢查是否語義使用GTAGS?
  2. 我可以將我的GTAGS保留在另一個目錄中並指示語義使用該目錄嗎?
  3. 在C/C++源代碼中,包含語句的完成(來自系統 標題)沒有列出所有可用標題。好吧,這是一個愚蠢的問題 ..但讓我覺得自己是不是工作的權利

回答

16

您可以使用命令:

M-x semantic-c-describe-environment RET 

,瞭解你的include路徑和CPP宏設置。

爲了測試GNU全球使用,你可以使用:

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

在一些項目來搜索的 「printf」。由於您的項目(可能在/ home/you/myproject中)中沒有printf,它將會失敗,但是如果您在/ usr/include中打開了一個文件並執行了相同的命令,它將有望識別printf。

詢問GNU全球

一個更普遍的方式是:

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

這一切都表示,GNU全球支持是最好的,你希望有很多很多的,你經常訪問preparsed文件的情況下。一旦一個頭被訪問一次(如printf),那麼GNU全局數據庫就不會再被使用,因爲已經爲它創建了一個等效的語義數據庫。這是必要的,因爲GNU Global沒有提供足夠的信息來完成智能完成。