免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5376 | 回复: 4

再谈RPG程序中的调用 [复制链接]

论坛徽章:
0
发表于 2012-11-14 15:24 |显示全部楼层
本帖最后由 blogliou 于 2012-11-14 15:34 编辑

固定格式:
                CALL  程序                        属于动态调用
                CALLB 模块(MODULE)         属于静态绑定调用


自由格式,则主要使用操作符CALLP, 在调用之前需要在D规范行先做原型定义,相当于C语言中函数和形参定义。
编译程序能事先比较程序中调用语句中的参数个数与类型是否与原型定义的形参一致,能够避免固定格式两种调用方法可能在运行过程中引用参数不符而导致运行错误的弊端。
根据原型定义中的关键词不同,调用对象也就不对,不同关键词含义如下:
                ExtPgm (程序),调用程序,                    属于动态调用,       相当于固定格式的CALL
                ExtProc(模块或没有Nomain的主过程),     属于静态绑定调用, 相当于固定格式的CALLB     
                无关键词,调用绑定模块中的一般子过程,     属于静态绑定调用,  固定格式无对应.  也可无CALLP操作符执行或过程名用在表达式中
                无关键词,调用服务程序模块中的子过程,     属于引用调用(Call By Reference)


在Extended Factor 2中也支持CALLP

推荐初学者使用自由格式编程,统一使用CALLP.

论坛徽章:
0
发表于 2012-11-14 16:32 |显示全部楼层
占个沙发,多谢大神总结,目前接触过的系统中极少用到自由格式的(应该是自己接触的太少),自由格式确实好用

论坛徽章:
0
发表于 2012-11-15 20:39 |显示全部楼层
最近很少看到技术方面的帖子,顶楼主

论坛徽章:
0
发表于 2012-11-20 12:40 |显示全部楼层
平时直接用CALL 的比较多。

论坛徽章:
2
摩羯座
日期:2013-12-13 13:46:42白羊座
日期:2013-12-13 18:05:06
发表于 2013-11-25 11:32 |显示全部楼层
谢谢分享,CALLP是好的,但实施起来费力.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP