WEB开发网
开发学院操作系统Linux/Unix 原生 z/OS 和 zOS UNIX Systems Services 之间的编... 阅读

原生 z/OS 和 zOS UNIX Systems Services 之间的编程

 2008-11-26 08:14:40 来源:WEB开发网   
核心提示: 要想创建 XPLINK 程序:必须指定 XPLINK C 编译器选项, 如果要在原生 z/OS 上编译,原生 z/OS 和 zOS UNIX Systems Services 之间的编程(6),那么必须指定 GOFF C 编译器选项, 如果要在 USS 中进行绑定,清单 5 中的代码获取当

要想创建 XPLINK 程序:

必须指定 XPLINK C 编译器选项。

如果要在原生 z/OS 上编译,那么必须指定 GOFF C 编译器选项。

如果要在 USS 中进行绑定,那么必须指定 XPLINK 绑定器选项。

如果要在原生 z/OS 中进行绑定,那么必须添加 DYNAM=DLL 和 RENT 绑定器选项(所有 XPLINK 程序都必须是 DLL)。

如果要在原生 z/OS 中进行绑定,那么必须包含 Language Environment 副文件 CELHS001 和 CELHS003。包含这两个文件的 JCL 示例见 清单 9。

关于 XPLINK 的更多信息,请参考 IBM z/OS C/C++ Programming Guide 或 XPLink: OS/390 Extra Performance Linkage Redbook。

清单 4. 使用 __MVS__ 实现条件编译的 C 代码

#if defined(__MVS__)
/* (z/OS specific code) */
#endif                      

创建和汇编 HLASM

原生 HLASM 程序员都熟悉如何用标准的 ISPF 面板和批作业对 HLASM 进行汇编;但是,还可以在 USS 中使用 as 命令进行汇编。关于这个命令的更多信息,请参考 z/OS USS Command Reference。

代码位置

与 C 一样,HLASM 代码既可以放在原生 z/OS 数据集中,也可以放在 USS 文件中。既可以从 USS 汇编 PDS 中的代码,也可以从批作业汇编 USS 文件,或者结合使用这两种方式。

从 HLASM 访问 USS 函数

与前面提到的 C 程序一样,HLASM 程序可以在原生 z/OS 和 USS 环境中访问 USS 服务,而不需要任何准备步骤;只需调用服务。HLASM 程序使用 Assembler Callable Services 访问这些服务(参见 IBM z/OS Unix Systems Services Programming: Assembler Callable Services Reference)。清单 5 中的代码获取当前的进程 ID 并把它放在整字字段 PROCESSID 中。这段代码从 z/OS CSRTABLE 控制块获取 getpid() 服务的地址。每个服务在这个控制块中的偏移量参见 z/OS USS Programming: Assembler Callable Services Reference。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:原生 OS zOS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接