无法在z / OS 1.12 C ++编译器错误中加载CCNEP?

时间:2012-12-25 10:06:58

标签: c++ mainframe

我刚开始使用大型机几天了。我尝试编译/链接/运行一个简单的“Hello World”示例,请遵循此站点http://www.ibmpressbooks.com/articles/article.asp?p=1160471&seqNum=4的教程 不幸的是,我遇到了这个错误,我不知道它告诉我什么。我想知道是否有人在大型机上有经验可以分享一些提示?我正在运行Marist z / OS 1.12。 enter image description here

2 个答案:

答案 0 :(得分:2)

IBM C/C++ compiler记录了z/OS Information Center {/ 3}}。

编译器消息记录为your particular release of z/OS,并指示CCNEP是编译器所需的模块名称,无法加载。

  

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

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

提到的运行时选项是here运行时选项。语言环境提供了C / C ++,COBOL,FORTRAN和PL / I使用的Language Environment

common runtime environment有多种方式,我猜您更喜欢使用specify runtime options环境变量,而不是_CEE_RUNOPTS

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

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

答案 1 :(得分:0)

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

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

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

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