原生 z/OS 和 zOS UNIX Systems Services 之间的编程
2008-11-26 08:14:40 来源:WEB开发网要想创建 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。
- ››OSC“回到顶部”代码
- ››OSCHINA 使用 Github 登录的源码
- ››OSGi Service Platform V4.2 新特性
- ››OS VM主机支持RedHat操作系统
- ››原生 z/OS 和 zOS UNIX Systems Services 之间的编...
- ››osworkflow 小培训
- ››osworkflow 小培训(2)
- ››osworkflow源码分析(一)
- ››osworkflow descriptor 解析 重要概念
- ››osworkflow descriptor 解析片断
- ››osworkflow部署描述
- ››osworkflow小测试练习之beanshell
更多精彩
赞助商链接