新建消息定义文件向导、C 头文件选项、选择目标消息集引用资料。
C 头文件
当您使用新建消息定义文件向导中的选项 C 头文件创建消息定义时,以下是您将遇到的面板的列表:
面板属性
- 源平台
- 该属性为“代码页”、“浮点格式”和“字节顺序”设置缺省值。
- (未指定)
- Msvc
- icc
- AIXgcc
- AIXxlc
- OS390
- 代码页
- 这显示了使用源平台属性设置的缺省值。这不应该进行调整。
- 浮点格式
- 这显示了使用源平台属性设置的缺省值。这不应该进行调整。
- IEEE 扩展的 INTEL
- IEEE Extended AIX
- IEEE Extended OS/390
- IEEE Non-Extended
- IBM 390 Hexadecimal
存储布局
- 地址大小
- 指定为其设计 C 头文件的硬件的本机地址大小。这将影响:
- 导入的指针的 CWF 长度(4|8 字节)
- “长整型”的 CWF 长度(4|8 字节)
选择与产生或消费(Consuming)CWF 消息的程序相匹配的大小。
- 长双精度的大小
- 这显示了使用源平台属性设置的缺省值。这不应该进行调整。
- 字节顺序
-
- 压缩级别
- 这将影响 CWF 字节对齐和已分配元素的前导跳跃计数和尾随跳跃计数。C 导入器将自然使边界上的变量对齐到其自身大小(4 字节整数在 4 字节边界上对齐)。为此,在结构中在结构中编译器将在变量间添加松散空间。包设置使变量具有最大设置值。如果您的消息包含松散空间,选择与生产或消费 CWF 消息的程序相匹配的包级别。如果没有预期的松散空间,选择“1”。例如:
/* 测试数据对齐 * 包含 int 的结构(在字边界上自然对齐) *
* +---------------------------------------------------
* | a,b,c = 元素字节
* | _ = 填充字节
* |---------------------------------------------------
* | 111 |
* | 包 | 1234 5678 9012 | 总计结构大小
* | ----------+----------------+----------------------
* | 1-byte | abbb bc | 6 字节
* | 2-byte | a_bb bbc_ | 8 字节
* | 4-byte | a___ bbbb c___ | 12 字节
* | 8-byte | a___ bbbb c___ | 12 字节
* +---------------------------------------------------
*****************************************************/
struct _align01 {
char align_01_a;
int align_01_b;
char align_01_c;
};
- Enum 大小
- 枚举的大小(以字节为单位)。这与 CWF 长度计数直接相关。在枚举中设置压缩将设置包含最大值的最大大小。选择与产生或消费 CWF 消息的程序相匹配的大小。
- 字符串编码
- 以空值终止的。当选择以空值终止时,大小为 n 的 C 字符型数组导入为具有最大长度面 n-1 的类型 xsd:string 的元素。如果为消息集定义了 CWF 物理格式,元素的 CWF 物理类型是以空值终止的字符串。
- 固定长度。当选择固定长度(缺省)时,大小为 n 的 C 字符型数组导入为具有最大长度面 n 的类型 xsd:string 的元素。如果为消息集定义了 CWF 物理格式,元素的 CWF 物理类型为具有长度计数 n 的固定长度字符串。
此选项仅应用于当前导入为 xsd:string 的字符数组。例如,它不包含导入为 xsd:integer 的局限性的“unsigned char[2]”或“signed
char[2]”。
- 字符串的填充字符
- 输入在导入 C 头文件时要使用的填充字符。可选择某个列出的预定义条目,或者指定为在字段中输入的内容。该值必须解析为单个字符。
使用以下方法之一设置该字符:
- 从下拉列表中选择 NUL(缺省)、SPACE 或“0”。
- 输入一个用引号括起来的字符,例如 "c" 或 'c',其中 c 是任意字母数字字符。
- 输入格式为 0xYY 的十六进制字符代码,其中
YY 是十六进制值。
- 输入格式为 YY 的十进制字符代码,其中
YY 是十进制值。
- 以格式 U+xxxx 输入 Unicode 值,其中 xxxx 是以十六进制格式指定的 Unicode 值。
如果字符串编码不是固定长度,该选项将变灰。