我去,我以为你发gcc了,结果找了半天在这儿找到了 2012/9/28 Mingjie Xing <mingjie.xing@xxxxxxxxx>: > gcc源代码中许多数据结构在定义中都使用了GTY来标记,这样会干扰ctags生成的标记,无法正确的找到这些结构体。比如: > > union GTY ((ptr_alias (union lang_tree_node), > desc ("tree_node_structure (&%h)"), variable_size)) tree_node { > struct tree_base GTY ((tag ("TS_BASE"))) base; > struct tree_typed GTY ((tag ("TS_TYPED"))) typed; > ... ... > }; > > 另外,VEC的用法也会对ctags有干扰。幸好,ctags有这么一个选项-I > (参见http://ctags.sourceforge.net/ctags.html)可以将这些宏过滤掉。; > > 因此,可以在gcc子目录下执行如下命令: > > $ ctags -R -I GTY+ -I VEC+ --exclude="testsuite" > > 这样,在vim中查看数据类型的定义,就比较准确了。 > > 祝好 > 邢明杰