如何为linux C开发设置CTAG?
我正在学习Linux下的C开发。但是,我正在努力正确设置CTAG以使用如何为linux C开发设置CTAG?,c,linux,ctags,exuberant-ctags,universal-ctags,C,Linux,Ctags,Exuberant Ctags,Universal Ctags,我正在学习Linux下的C开发。但是,我正在努力正确设置CTAG以使用vim。它正确地注册了标记文件,并基于该文件提供完成 我不确定什么是获得“必要”包含的正确方法。目前我有一些“手工挑选”的标题: 在第一步中,我只放置了与#include…相同的标题,但遗漏了一些内容(比如/usr/include/bits/…)。所以我添加了这些 但我觉得这么多年后,某个地方的某个人不得不想出更好的解决办法。那么,这通常是如何做到的呢?这是一个很好的问题,灰狼 我多年来一直在使用这种方法,下面是我如何使用它的
vim
。它正确地注册了标记
文件,并基于该文件提供完成
我不确定什么是获得“必要”包含的正确方法。目前我有一些“手工挑选”的标题:
在第一步中,我只放置了与#include…
相同的标题,但遗漏了一些内容(比如/usr/include/bits/…
)。所以我添加了这些
但我觉得这么多年后,某个地方的某个人不得不想出更好的解决办法。那么,这通常是如何做到的呢?这是一个很好的问题,灰狼 我多年来一直在使用这种方法,下面是我如何使用它的:
\u属性__
__属性_已弃用__
__属性\格式\参数__+
__属性\格式\ strfmon__+
__属性_malloc__
__属性线__
__纯属性__
__使用的属性__
__属性\u警告\u未使用\u结果__
__属性分配大小__+
__属性常数__
__人工属性__
__乌尔
__扔
__THROWNL
__开始
__十二月底
__开始\u名称空间\u标准
__结束\u名称空间\u标准
__使用名称空间+
__开始\u命名空间\u C99
__结束\u命名空间\u C99
__使用_名称空间_C99+
__华代克+
__沃纳特+
__错误的+
__flexarr=[]
__强化功能
__重新更正+
__重定向+
__重定向+
__ASMNAME+
__ASMNAME2+
__非空+
__始终在线
__extern\u inline=extern
__extern\u始终\u内联=extern
__延伸__
__限制
__restrict\u arr
/usr/include/bits
是一个内部和编译器专用目录。您不应该需要包含其中的文件,或使用这些头文件中的符号。O_RDONLY
在其中定义。。。因此,我不应该使用O_RDONLY
,而是直接为O_WRONLY
编写0
(或1
)?只需使用“/usr/include”并让递归处理事情?好吧,看来我错了。或者,我认为libc在内部头文件中定义那些需要外部工具引用的符号是错误的。也许仅仅索引/usr/include
而不是列出特定的文件和子目录会更容易些?我想。。。看起来vim可以很好地处理生成的34 MB文件。
AM_CTAGSFLAGS = \
--recurse=yes \
--tag-relative=yes \
--extras=* \
--fields=* \
--c-kinds=* \
--language-force=C \
/usr/include/bits \
/usr/include/fcntl.h \
/usr/include/stdio.h \
/usr/include/stdlib.h \
/usr/include/string.h \
/usr/include/sys \
/usr/include/unistd.h