AIX命令参考大全,卷 1,a - c - ctags 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 1,a - c

ctags 命令

用途

产生标记文件以帮助在源文件中定位对象。

语法

ctags -u -x ] [ -B -F ] [  -a ] [  -m ] [  -o ] [  -t ] [  -v ] [  -w ] [  -f TagsFile File. ..

描述

ctags 命令从指定的 C、Pascal、FORTRAN、yacc、lex 和 LISP 源文件中创建一个标记文件,以便 ex 和 vi 编辑器使用。标记文件是由源文件中的编程语言指定对象(例如函数和类型定义)的定位器组成的。一个定位器的组成包括:对象名、定义的文件和基本正则表达式或用以搜索对象定义的行号。 提供的说明符位于行的不同字段,由空格或制表符分开。使用标记 文件, ex 和 vi 可以快速的查找这些对象定义。

以下文件名后缀是由 ctags 命令支持的:

.c 当作 C 语言源代码对待并搜索 C 例程和宏定义。
.h 当作 C 语言源代码对待并搜索 C 例程和宏定义。
.f 当作 FORTRAN 语言源代码对待。
.l 如果第一个非空格字符是 [(开方括号),( (开圆括号)和;(分号),则当作 LISP 语言源代码对待。否则当作 lex 语言 源代码对待。

以任意其它后缀结束的文件名,首先要被检查是否包含任何 Pascal 或 FORTRAN 例程定义。如果不包含,它们被当作 C 语言源代码重新进行处理。没有 一个 . (点)后缀的文件被当作 C 语言源代码处理。

在 C 程序中, main 标记被特别对待。标记格式的创建是通过将前缀 M 加到文件名中,除去扩展名 .c (如果任意)并除去最主要的路径名组件。 使用 ctags 实际上位于超过一个程序的目录中。

注意:
  1. 识别关键字 Function,在 FORTRAN 和 Pascal 代码中用于指定 subroutineprocedure 的地址,而不管块的结构。 如果任意两个 Pascal 过程有相同的名称,即使它们在不同的块中,ctags 命令可能产生不充分的结果。
  2. ctags 命令不能识别 #if#ifdef 语句。
  3. 如果 -B-F 选项都被指定,最后被指定的选项将被优先使用。
  4. 这个 -x 选项优先于其它任意选项(-a-u-f),这些选项将另外创建标记文件。
  5. -v 选项被指定后,-x 选项是默示的。
  6. ctags 命令的输出总是由对象标识符分类。

标志

-a 附加到标记文件。附加完以后,ctags 将标记文件分类。
-B 引起 ctags 使用反向搜索模式 (?. .?)。
-F 引起 ctags 使用正向搜索模式 (/. . ./)。 这是缺省的搜索模式。
-f TagsFile 创建一个标记文件,其名称被 TagsFile指定,而不是缺省的 tags文件。
-m 引起 ctags 不为宏定义创建标记。
-o 引起 ctags 为类型定义产生行号,而不是用来搜索对象定义的基本正则表达式。
-t 为类型定义创建标记。由于标准一致,这个标记是缺省的。
-u 更新指定的标记文件,即所有对它们的引用被删除,新的值被附加到文件中。这个标记会减慢 命令的处理。(简单重建标记文件通常是比较快的。)
-v 产生 vgrind 命令在标准输出中所期望的格式的索引。这个列表包含函数名、文件名和页码(假定 64 行页面)。
-w 引起 ctags 排除诊断警告消息。
-x 引起 ctags 命令显示对象名、行数和文件名的列表,其中的每一个已被定义,正如行的文本一样。这提供了一个简单的、可读的函数索引。如果指定这个标志,ctags 命令 不会构建、更新或附加一个标记文件,但写到标准输出中。

示例

  1. 要把 ctags 命令输出的 C 语言源文件 x.cy.cz.c 写到标准输出中,输入:

    ctags -x x.c y.c z.c
  2. 要对于所有的当前目录中的 C 语言源文件创建命名为 foo_tags 的标记文件,输入:

    ctags -f foo_tags *
  3. 要添加附加的标记(包含类型定义)到 foo_tags 标记文件中,为所有的 C 语言源文件 zip.c,输入:

    ctags -utf foo_tags zip.c

退出状态

以下退出值被返回:

0 成功完成。
>0 发生错误。

文件

usr/bin/more/tags 输出标记文件。

相关信息

ex 命令、lex 命令、vgrind 命令、vi 命令、yacc 命令。

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]