构建数据库时,Ctags / Cscope /其他服务包括和makefile

时间:2015-02-09 13:23:23

标签: c scope ctags

默认情况下,就我所见,ctags和cscope解析一组C文件并构建一个数据库/索引(例如ctags文件......),关于解析期间遇到的标识符/宏...

稍后,当用户询问给定标识符时,他将获得标识符声明的可能位置列表。然后,用户可以从列表中选择一个选项并查看标识符的定义。

现在,例如,如果你在linux内核中要求标识符“dev”,那么可供选择的列表超过1500个条目!

实际上,一次只使用一个定义。由于#includes(包括或不包含其他文件)或制定规则(哪个对象链接在一起),其余部分在构建时被排除。

有没有办法让Ctags / Cscope(或任何其他人)考虑#includesMakefiles来制作更好的列表?希望只留下列表中唯一有效的引用,或者至少按更高的概率顺序对列表进行排序......

我知道,构建选项可能会对此产生影响,并且该工具(Ctags,Cscope ......)无法提前猜测。当使用Ctag / Cscope时,构建环境可能非常复杂或不完整/缺失......但是听起来尝试它可能会导致更好的情况,而不仅仅是呈现有时超过1000个条目的平面列表选择......

或者有没有理由不这样做,我显然很想念......

0 个答案:

没有答案