0

我刚开始使用大型机几天。我尝试按照本网站http://www.ibmpressbooks.com/articles/article.asp?p=1160471&seqNum=4
的教程编译/链接/运行一个简单的“Hello World”示例, 不幸的是,我遇到了这个错误,我不知道它在告诉我什么。我想知道是否有人有大型机经验,可以分享一些技巧吗?我正在运行 Marist z/OS 1.12。 在此处输入图像描述

4

2 回答 2

2

IBM C/C++ 编译器记录在您的特定 z/OS 发行版的IBM 文档中。

此处记录了编译器消息,并指出 CCNEP 是编译器所需的无法加载的模块的名称。

用户响应:检查编译器是否安装正确。确保该区域中有足够的内存来获取模块。您可能需要指定运行时选项 HEAP(,,,FREE,,) 以防止编译器耗尽内存。

由于您在前台进行编译,并且我看到您正在使用 OMVS,因此“区域中”的内存量是为您的 TSO 会话指定的内存量。

提到的运行时选项是语言环境运行时选项。语言环境提供C/C++、COBOL、FORTRAN 和 PL/I 使用的通用运行时环境。

有多种方法可以指定运行时选项,我猜您更喜欢使用 _CEE_RUNOPTS 环境变量。

也有可能包含 CCNEP 模块的库未分配给您的会话,和/或在 LPA 或链接列表中不可用。

根据您的背景,使用 PuTTY 可能比使用 OMVS 更舒服。

于 2012-12-25T15:37:42.197 回答
0

我希望这不是内存问题,而是 C/C++ 编译器模块不在您的 STEPLIB 中。STEPLIB 是寻找加载模块的(其中之一) - 类似于 Unix 系统上的 LIBPATH。所以 - 你想要做的是在运行 c++ 之前添加一个导出命令。这确实是系统程序员应该为您设置的东西,但通常他们没有。不幸的是,它不是标准化的——但对我来说——CCNEP 程序对象位于 CBC.ACCNCMP 数据集中,所以我会执行以下操作:

(export STEPLIB=CBC.ACCNCMP:$STEPLIB; c++ ... )

这将运行(作为子进程,因此您不会弄乱全局 STEPLIB)C++ 编译器,但首先将数据集 CBC.ACNCMP 添加到您的 STEPLIB,以便 c++ 驱动程序可以加载模块 CCNEP。

如果您认识 Marist 的系统程序员,他们应该能够告诉您他们在哪里安装了 C++ 编译器。

于 2018-06-06T00:57:49.830 回答