精通COBOL--11.5.1 静态调用的基本概念

  静态调用发生时通常需要具有两个条件。其中一个条件是使用CALL literal。另一个条件是程序被编译时使用NODYNAMNODLL选项,静态调用最基本的特征是子程序和主程序一并链接,存放于同一个加载模块(Load Module)中。也就是说,子程序在被调用之前,已经存在于内存之中了。

基于这一点,在静态调用中,主要有以下几个方面需要注意。

q      当某一程序被多次静态调用时,每次调用时该程序的状态为其最近一次被调用之后的状态。也就是说,在多次通过静态调用同一程序时,该程序每次的状态可能并不相同。这种状态主要表现在该程序的程序状态字及其内部数据上。因此,若要使该程序每次被调用时,内部数据都相同,则需要在每次调用前都对其进行初始化。

q      静态调用所占的存储空间通常相对比较大。关于这一点,主要是因为在调用程序后,不能将其从内存中移除掉以释放存储空间。而对于在后面要讲解的动态调用中,调用结束后是可以通过CANCEL语句,将其从内存中移除掉的。

q      静态调用的效率相对比较高。这是因为在静态调用时,子程序已存在于内存之中了,不用反复读写内存,因此提高了效率。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值