mkstr 命令

用途

创建错误消息文件。

语法

mkstr [ - ] MessageFile 前缀文件 ...

描述

mkstr 命令创建错误消息的文件,这些消息能从单个或多个 C 源文件中删除。 它的使用能减少包含许多错误诊断的程序的大小,并且能降低运行此类程序的系统开销,因为错误消息不会持续交换进出源文件了。

mkstr 命令处理每个由 File 参数指定的文件将文件的已处理版本放置在文件中,该文件的名称由 Prefix 参数指定,后面跟原名。

要将源文件的错误消息处理到由 MessageFile 参数指定的文件中,mkstr 命令在输入流中键入字符串 'error("'。 以 '"' (双引号)开始的字符串,放在消息文件中并且后面跟空字符和换行符。 空字符终止消息,所以在检索时容易使用。 有了换行符就能通过使用 cat 命令来查看错误消息文件的内容。

输入文件处理过的副本包含一个 lseek 指针,这个指针用来检索该消息到其相应的源文件,如以下示例所示:

char efilname[] = "/usr/lib/pistrings";
int    efil = -1;
 
error(a1, a2, a3, a4)
{
    char buf[256];
    if (efil < 0) {
        efil = open(efilname, 0);
        if (efil < 0) {
oops:
           perror(efilname);
            exit(1);
        }
     }
    if (lseek(efil,(long) a1,0) <0|| 
         read(efil,buf, 256) <= 0)
        goto oops;
    printf(buf, a2, a3, a4);
}

标志

描述
- 可选的 -(减号标志)使错误消息放置在 MessageFile 的结尾以重新编译大的 mkstr 程序的一部分。

示例

  1. 将当前目录 C 源文件中的错误消息放入文件中pistrings并将这些文件的源的已处理副本放入前缀为xx,请输入:
    mkstr pistrings xx *.c
  2. 将来自其他源文件的错误消息追加到文件中pistrings,请输入:
    mkstr - pistrings xx newfile.c

文件

描述
/usr/ccs/bin/mkstr 包含 mkstr 命令。