开发 C 和 C++ 应用程序
使用此信息可帮助您对要用作 CICS® 应用程序的 C 和 C++ 程序进行编码,转换和编译。
对应用程序编程语言的 CICS 支持的更改 列出了 z/OS® 的 CICS 事务服务器, V 5 发行版 6 支持的 C 和 C++ 编译器及其在 z/OS上的服务状态。 除非另有说明,否则 z/OS 的 CICS 事务服务器, V 5 发行版 6 文档中对 C 和 C++ 的所有引用都暗示使用受支持的符合 Language Environment ® 的编译器。 COBOL , PL/I 和汇编语言应用程序中可用的所有 EXEC CICS 命令在 C 和 C++ 应用程序中也受支持,但与非结构化异常处理相关的命令除外。
C++ 应用程序还可以使用 CICS C++ OO 类来访问 CICS 服务,而不是 EXEC CICS 接口。 有关此接口的更多信息,请参阅 使用 CICS 基础类 。 C++ 支持面向对象的编程,您可以像使用 C 语言一样使用此语言。 必须指定转换程序是使用 CPP 选项转换 C++。 还必须使用 LANGUAGE (LE370) 选项来定义 C++ 程序。
工作存储器
在 C 和 C++ 中,工作存储器由堆栈和堆组成。 堆栈和堆的位置 (相对于 16 MB 线) 由堆栈和堆运行时选项上的 ANYWHERE 和 BELOW 选项控制。 缺省情况是堆栈和堆都位于 16 MB 界线之上。样本程序
提供了一组样本应用程序,以显示如何在以 C 或 C++ 语言编写的程序中使用 EXEC CICS 命令。| 样本程序 | 映射集 | 映射源 | 事务标识 |
|---|---|---|---|
| DFH$DMNU 操作员指令 (3270) | DFH$DGA | DFH$DMA | DMNU |
| DFH$DALL 更新 (3270) | DFH$DGB | DFH$DMB | DINQ , DADD 和 DUPD |
| DFH$DBRW 浏览 (3270) | DFH$DGC | DFH$DMC | DBRW |
| DFH$DREN 顺序条目 (3270) | DFH$DGK | DFH$DMK | DORD |
| DFH$DCOM 顺序条目队列打印 (3270) | DFH$DGL | DFH$DML | DORQ |
| DFH$DREP 报告 (3270) | DFH$DGD | DFH$DMD | 余若薇 |
事务和程序定义在 CICS 系统定义数据集 (CSD) 的组 DFH$DFLA 中提供,可以使用以下命令进行安装:
CEDA INSTALL GROUP(DFH$DFLA)
以下记录描述文件作为 C 或 C++ 语言头文件提供:
- DFH$DFIL: FILEA 记录描述符
- DFH$DL86: L860 记录描述符
FLOAT 编译器选项
对于 z/OS V1.11 XL C (或 C++) 或更高版本,请指定 FLOAT (NOAFP) 编译器选项或 FLOAT (AFP (VOLATILE)) 编译器选项。- 如果程序很少或不使用浮点,请指定 FLOAT (NOAFP) 选项。 该程序只使用传统的四个浮点寄存器,在保存寄存器时要做的工作更少。
- 如果程序大量使用浮点,请指定 FLOAT (AFP) 选项或 FLOAT (NOVOLATILE) 选项。 该程序可以使用所有 16 个浮点寄存器,而 CICS 会保留该程序所使用的浮点寄存器。
- 如果指定 FLOAT (AFP (VOLATILE)) 选项,那么 CICS, C 和 C++ 将保留浮点寄存器。 生成额外的代码,因此会降低性能。