在本地模式中,whatis 命令用于输出表达式的类型或类型声明或宏定义。如果适用,它还输出 OpenMP 数据共享属性信息。
在 Java 模式中,whatis 命令用于输出标识符声明。如果标识符是类,则它将输出类的方法信息(包括所有继承方法)。
输出非类型 name 的声明,或定义(如果 name 为宏)。
输出类型为 type 的声明。
输出表达式 expression 的类型。
其中:
name 是非类型或宏的名称。
type 是类型名。
expression 是有效的表达式。
macro 是宏的名称。
–a 仅输出指定类的数据成员。
–d 显示动态类型而非静态类型。
–e 表示显示表达式的类型。
–n 表示显示非类型的声明。不必指定 -n;如果键入不带选项的 whatis 命令,缺省使用该值。
–r 输出有关基类和类型的信息。
–t 表示显示类型的声明。
–u 显示类型的根定义。
–m 强制进行宏扩展,即使 dbxenv 变量 macro_expand 设置为 off 也是如此。
+m 使宏查找失效,从而能找到可能被宏投影的任何符号。
对 C++ 类或结构运行 whatis 命令时,它将提供一个列表,其中列出所有已定义的成员函数、静态数据成员、类友元以及在该类中显式定义的数据成员。未定义的成员函数不列出。
如果指定 –r(递归)选项,将添加来自继承类的信息。
–d 标志与 –e 标志一起使用时表示使用动态类型的表达式。
对于 C++,模板相关标识符显示如下:
所有模板定义通过 whatis -t 列出。
函数模板实例通过 whatis 列出。
类模板实例通过 whatis -t 列出。
输出 identifier 的声明。
其中:
identifier 可以是类、当前类中的方法、当前帧中的局部变量或当前类中的字段。