AIX命令参考大全,卷 6,v - z - xstr 命令

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

AIX命令参考大全,卷 6,v - z

xstr 命令

用途

从 C 程序中提取字符串以实现共享字符串。

语法

xstr-v ] [  -c ] [  ] [ File ]

描述

xstr 命令维护一个名为 strings 的文件,大型程序各组件的字符串散列到该文件中。这些字符串替换为此数组的引用。这适合于实现共享常量字符串,如果它们也是只读属性则更有用。

命令:

xstr -c File

File 参数的 C 源文件中抽取字符串,用(&xstr[number])格式的表达式来替换某些数字的字符串引用。xstr 数组的适当声明添加到文件首部。得到的 C 文本放入文件 x.c 中,然后进行编译。从文件中读出的字符串会追加到 strings 文件中(如果它们在该处尚不存在)。重复的字符串和作为现有字符串后缀的字符串不会造成文件 strings 的更改。

如果某字符串是文件中另一字符串的后缀,但是这个较短的字符串是先被 xstr 命令读入,那么两个字符串都存放于文件 strings

在一个大型程序的所有组件都被编译后,声明公共 xstr 数组空间的文件 xs.c 可以用以下格式的命令创建:

xstr

接下来应编译 xs.c 文件并装入剩下的程序。如果可能,这个数组会被保存为只读(共享)以节省空间和数据交换的开销。

xstr 命令也可以用于单个文件。命令:

xstr File

像以前一样,创建文件 x.cxs.c,但是没有使用或影响任何在相同目录下的 strings 文件。

如果任何宏定义产生字符串,或者如果存在条件代码包含字符串而事实上并不需要这些字符串,在经过 C 预处理器编译后运行 xstr 命令十分有用。

当给定 -(负号)标志时,xstr 命令读取标准输入,并且除非同时指定 -c 标志,否则不会更改 strings 文件。

在经过 C 预编译器编译后运行 xstr 命令的正确命令序列是:

cc -E name.c | xstr -c -
cc -c x.c
mv x.o name.o

除非添加新项目,xstr 命令并不改变文件 strings;因而除非真的需要,make 命令能够避免重新生成 xs.o 文件。

标志

-c 从指定文件中抽取字符串,并将其放在 strings 文件中。
-v 详细方式。指出字符串是何时找到的,或在 strings 文件中创建新字符串的时间。
- 读取标准输入。

示例

  1. File.c 参数表示的 C 源文件中抽取字符串,为某些字 符串引用替换为(&xstr[number])的格式的表达式:

    xstr -c File.c

    xstr 数组的适当声明添加到文件首部。得到的 C 文本放入文件 x.c 中,然后进行编译。

  2. 要在 xs.c 文件中声明公共 xstr 数组空间:

    xstr

文件

strings 包含抽取字符串的文件。
x.c 处理过的 C 源程序。
xs.c xstr 数组定义的 C 源程序。
/tmp/xs* xstr 命令不更改 strings 文件时的临时文件
/usr/ccs/bin/mkstr 包含可执行文件。
/usr/ccs/bin/mkstr 包含 Berkeley 环境中的可执行文件。

相关信息

mkstr 命令。

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