IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

PL / 1中变量/数组的存储限制


IBM大型机论坛 -> PL / I& Assembler
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
delly999

新的用户


已加入:2007年1月12日
帖子:13
所在地:加拿大安大略省

发布发表:2007年5月10日,星期四,11:52 pm
引用回复

大家好。

在存储下面列出的数组时遇到问题:

DCL BIT_ARRAY(9984)BIT(32000);

该阵列所需的内存总量不到40m(9984 * 4000)。我收到一个编译器错误,提示我无法超过内存的16M行。

我尝试在运行时以相同的存储要求动态分配2维数组,并覆盖所需的数组。

DCL(ROW,R_BIT)固定档(15);

DCL COMP_ARRAY(ROW,R_BIT)CHAR(1)受控;
DCL BIT_ARRAY(9984)BIT(32000)为基础(ADDR(COMP_ARRAY));

ROW = 9984;
R_BIT = 4000;

分配COMP_ARRAY;

这可以很好地进行编译,但是一旦我运行并在加载16m数据后开始加载BIT_ARRAY,我就会中止SOC4消息。没有人知道不使用链接列表就可以解决此存储问题吗?

提前致谢
回到顶部
查看用户资料 发送私信
比特纳克

CICS主持人


加入:2005年11月7日
帖子:1104
地点:19洞荷兰

发布发表:2007年5月11日,星期五,12:44 am
引用回复

您可能正在较低的内存中运行。检查AMODE和RMODE。如果要在上限(无限)中运行,则应为32或更高。似乎您使用24进行了编译/链接。较低的内存限制为16 MB(包括操作系统,该内存大约为7 MB),因此阵列中没有剩余空间。
回到顶部
查看用户资料 发送私信
delly999

新的用户


已加入:2007年1月12日
帖子:13
所在地:加拿大安大略省

发布发表:2007年5月11日,星期五,凌晨1:14
引用回复

感谢Bitneuker,

这帮助我找到了问题。从本质上讲,这是一个Endevor问题。即使我在程序中具有正确的链接选项,并且Endevor加载模块看起来被列为AMODE = 31和RMODE = ANY,该程序仍被视为AMODE = 24。我使用自己的LOADLIB创建了JCL编译器,并成功运行。谢谢你的帮助。干杯
回到顶部
查看用户资料 发送私信
阿克希尔萨加尔

活跃的成员


已加入:2007年2月27日
帖子:691
地点:地球

发布发表:2007年5月11日,星期五,凌晨3:28
引用回复

您的意思是Endevor中的BUG?
回到顶部
查看用户资料 发送私信
delly999

新的用户


已加入:2007年1月12日
帖子:13
所在地:加拿大安大略省

发布发表:2007年5月11日,星期五,下午6:21
引用回复

好像是这样。当我使用Endevor进行编译并从Endevor创建的加载库中执行程序时,我遇到了上述问题,而当我在Endevor之外进行编译时却没有。我们刚刚创建了一个开发系统,该系统具有一些尚待解决的问题。将与CA员工一起解决。
回到顶部
查看用户资料 发送私信
比特纳克

CICS主持人


加入:2005年11月7日
帖子:1104
地点:19洞荷兰

发布发表:2007年5月11日,星期五,11:03 pm
引用回复

delly999写道:
感谢Bitneuker,

谢谢你的帮助。干杯


很高兴有帮助 icon_wink.gif
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> PL / I& Assembler

 


类似主题
话题 论坛 回覆
没有新帖 文件状态-可变长度39 COBOL程式设计 2
没有新帖 无法显示补偿变量 COBOL程式设计 4
没有新帖 IWS / TWS建立动态或可变APp ... IBM工具 0
没有新帖 确定哪个库成员在其中,... JCL和VSAM 9
没有新帖 将虚拟磁带服务器TS7700用作计算机... 所有其他大型机主题 0
搜索我们的论坛:


回到顶部