AIX命令参考大全,卷 3,i - m - mkcatdefs 命令

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

AIX命令参考大全,卷 3,i - m

mkcatdefs 命令

用途

预处理消息源文件。

语法

mkcatdefs SymbolName SourceFile ... [ -h ]

描述

mkcatdefs 命令预处理输入到 gencat 命令的消息源文件。

SourceFile 消息文件包含符号标识符。 mkcatdefs 命令产生 SymbolName_msg.h 文件,它包含等同于带有由 mkcatdefs 命令指定的集合号和消息 ID 号的符号标识符的语句。

mkcatdefs 命令创建两个输出。第一个是称为 SymbolName_msg.h 的头文件。必须在应用程序中包含这个 SymbolName_msg.h 文件,从而把符号名称与由 mkcatdefs 指定的集合和消息号关联起来。

mkcatdefs 命令用编号将消息源数据发送到到标准输出,而不是用符号标识符。这个输出适合于输入到 gencat 命令。也可以按以下方式使用 mkcatdefs 命令的输出作为到 gencat 命令的输入:

在运行 mkcatdefs 命令之后,可以在应用程序中使用符号名称来引用消息。

标志

-h 禁止 SymbolName_msg.h 文件的生成。这个标志必须是 mkcatdefs 命令的最后一个参数。

示例

要处理 symb.msg 消息源文件并重定向输出到 symb.src 文件,请输入:

mkcatdefs symb symb.msg > symb.src

生成的 symb_msg.h 文件与以下内容相似:

#ifdef      _H_SYMB_MSG
#define     _H_SYMB_MSG
#include <limits.h>
#include <nl_types.h>
#define      MF_SYMB     "symb.cat"
/* 从 symb.src 生成以下内容。 */
/* 设置 MSFAC 的定义 */
#define      SYM_FORM     1
#define      SYM_LEN      2
#define      MSG_H  6
#endif

mkcatdefs 命令也为带有指定到符号标识符的编号的 gencat 命令创建 symb.src 消息编目源文件:

$quote " Use double quotation marks to delimit message text
$delset 1
$set 1
1       "Symbolic identifiers can only contain alphanumeric \
characters or the _ (underscore character)\n"
2       "Symbolic identifiers cannot be more than 65 \
characters long\n"
5       "You can mix symbolic identifiers and numbers\n"
$quote
6       remember to include the "msg_h" file in your program

因为源文件包含一个特定的编号,所以指定的消息号是不连续的。mkcatdefs 程序始终指定将原来的编号加 1 为符号标识符。

注:mkcatdefs 命令在输出消息源文件中 $set 命令之前插入 $delset 命令。这意味着当输出到 gencat 命令时,不能在现有的的目录中添加、删除或替换单个消息。必须在集合中输入所有的消息。

文件

/usr/bin/mkcatdefs 包含 mkcatdefs 命令。

相关信息

dspcat 命令、dspmsg 命令、gencat 命令和 runcat 命令。

catclose 子例程、catgets 子例程和 catopen 子例程。

AIX 5L Version 5.2 National Language Support Guide and Reference 中的 Using the Message Facility

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