免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4241 | 回复: 11
打印 上一主题 下一主题

请教有关程序编译后的大小 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-25 18:13 |只看该作者 |倒序浏览
问题:400对于程序编译后的大小是否有限制?

目前在修改一个COBOL程序,在这个程序中增加了几行代码,编译过程中提示错误:“Reached maximum number of spooled records for file QPSRVDMP in library QSYS. (C R NOMAX 1-999999) ”,回复NOMAX或999999,编译走完,但是程序没有编译出来。SPLF中没有出现severity大于30的messages,程序本身没有语法和逻辑错误。

和同事分析认为是400对于编译后的程序大小有限制,请大家帮忙分析下,有何解决办法。

论坛徽章:
0
2 [报告]
发表于 2005-08-25 18:32 |只看该作者

请教有关程序编译后的大小

编译过程中提示错误:“Reached maximum number of spooled records for file QPSRVDMP in library QSYS. (C R NOMAX 1-999999) ”,说明QSYS/QPSRVDMP已经超过了默认的Max spooled output records......100000,将其改为*NOMAX,然后再测试编译COBOL程序试试结果。

CHGPRTF FILE(QSYS/QPSRVDMP) MAXRCDS(*NOMAX)

论坛徽章:
0
3 [报告]
发表于 2005-08-26 09:09 |只看该作者

请教有关程序编译后的大小

把原有的PGM删除 然后重新编译就可以了

论坛徽章:
0
4 [报告]
发表于 2005-08-26 11:47 |只看该作者

请教有关程序编译后的大小

以前在做程序时定义了一个9999个元素的数组,编译时提醒程序过大,编译失败.后改成2000就成功.不知道这一个实例能说明程序的大小有限制一说.

论坛徽章:
0
5 [报告]
发表于 2005-08-26 12:38 |只看该作者

请教有关程序编译后的大小

LZ的程序应该不是编译时出现的,应该是执行的时候吧

编译的时候如果出错不是QPSRVDMP这个SPLF 应该是QPJOBLOG

QPSRVDMP 是程序出MSG后才出现的 楼主遇到的错误并不是因为程序的大小限制造成的,而是系统记录程序执行过程时写到SPLF,而SPLF和PF一样初始的记录数是有限制的,所以才会出错,只要CHGPRTF把最大记录数改为*NOMAX就好了

PS:以前听人说过 好象数组的大小是有限制的 具体多少忘了~

论坛徽章:
0
6 [报告]
发表于 2005-08-26 12:45 |只看该作者

请教有关程序编译后的大小

RPG的数组MAX=9999,RPGLE得到了改进,MAX=52277。

具体MAX值我再查资料核实一下,RPGLE改进了数组MAX这个是事实。

论坛徽章:
0
7 [报告]
发表于 2005-08-26 13:00 |只看该作者

请教有关程序编译后的大小

谢谢楼上各位,如果我把MAXRCDS属性值改为*NOMAX的话,那个错误提示是不会再出来了,但是程序同样不能编译出来。

如果我在原先的原程序中注释掉同样行数的一些代码(无关紧要的代码),然后再添加上上我的代码,编译可以成功(即生成PGM文件),运行这个程序也可以达到我需要的目的。这是否说明400对于程序本身的代码大小是有限制的?(也就是说这个程序可能已经达到了这个最大限制?),同时我问了一下以前改过这个程序的同事,他曾经也碰到过类似问题,他的解决办法是另外写一个程序,然后进行程序间的调用。我想有没有更好的系统方面的解决办法?

论坛徽章:
0
8 [报告]
发表于 2005-08-26 13:02 |只看该作者

请教有关程序编译后的大小

PS:修改MAXRCDS属性对系统安全是否有影响?比如进入死循环,产生大量的DUMP,是否会对系统运行方面产生影响?

论坛徽章:
0
9 [报告]
发表于 2005-08-26 13:30 |只看该作者

请教有关程序编译后的大小

产生DUMP信息说明程序存在问题,如果产生大量的DUMP的SPLF信息,会占用ASP空间,所以如果有更好的处理办法的话,那就不去修改系统QSYS/QPSRVDMP的MAXRCDS(*NOMAX)为宜。

如果400对于代码大小有限制,那当你注释掉一些语句后,再追加语句,整个COBOL代码只会变得更大,编译更过不了才对。所以个人觉得,400对于程序本身的代码大小应该没限制,对行数多少会不会限制就不敢肯定了。

找找400最大值说明的资料看看才会明白,400这玩意真是高深莫测,难怪颜色都是黑色。

论坛徽章:
0
10 [报告]
发表于 2005-08-26 13:53 |只看该作者

请教有关程序编译后的大小

我觉得不会存在程序大小的限制这一说法(没有权威证实)

我们这上万行代码的程序编译也一样没问题的 当然,我觉得程序最好是简洁明了 模块化强一些更好

如果这个程序目前已经存在了 就先把此PGM删掉再编译

或者把PGM相关SRC弄出来让大家测试一下

不行就把编译失败后的SPLF帖出来吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP