查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
delly999
新的用户
已加入:2007年1月12日 帖子:13 所在地:加拿大安大略省
|
|
|
|
大家好。
在存储下面列出的数组时遇到问题:
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洞荷兰
|
|
|
|
您可能正在较低的内存中运行。检查AMODE和RMODE。如果要在上限(无限)中运行,则应为32或更高。似乎您使用24进行了编译/链接。较低的内存限制为16 MB(包括操作系统,该内存大约为7 MB),因此阵列中没有剩余空间。 |
|
回到顶部 |
|
 |
delly999
新的用户
已加入:2007年1月12日 帖子:13 所在地:加拿大安大略省
|
|
|
|
感谢Bitneuker,
这帮助我找到了问题。从本质上讲,这是一个Endevor问题。即使我在程序中具有正确的链接选项,并且Endevor加载模块看起来被列为AMODE = 31和RMODE = ANY,该程序仍被视为AMODE = 24。我使用自己的LOADLIB创建了JCL编译器,并成功运行。谢谢你的帮助。干杯 |
|
回到顶部 |
|
 |
阿克希尔萨加尔
活跃的成员

已加入:2007年2月27日 帖子:691 地点:地球
|
|
|
|
您的意思是Endevor中的BUG? |
|
回到顶部 |
|
 |
delly999
新的用户
已加入:2007年1月12日 帖子:13 所在地:加拿大安大略省
|
|
|
|
好像是这样。当我使用Endevor进行编译并从Endevor创建的加载库中执行程序时,我遇到了上述问题,而当我在Endevor之外进行编译时却没有。我们刚刚创建了一个开发系统,该系统具有一些尚待解决的问题。将与CA员工一起解决。 |
|
回到顶部 |
|
 |
比特纳克
CICS主持人

加入:2005年11月7日 帖子:1104 地点:19洞荷兰
|
|
|
|
delly999写道: |
感谢Bitneuker,
谢谢你的帮助。干杯 |
很高兴有帮助  |
|
回到顶部 |
|
 |
|