Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1337027
  • 博文数量: 287
  • 博客积分: 11000
  • 博客等级: 上将
  • 技术积分: 3833
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-16 08:43
文章分类
文章存档

2013年(15)

2012年(17)

2011年(17)

2010年(135)

2009年(85)

2008年(18)

分类: 系统运维

2009-01-09 23:27:23

CALL、CALLB和CALLP的区别

(一)调用关系

call是动态调用,是程序与程序之间的调用;

callb是静态调用,只局限与一个程序bind的modules间的调用;

callp也是静态调用,可以在一个程序bind的modules之间调用,或在同一段程序代码(程序或module)中的procedure调用;也可以调用外部的modules,只要这个module在bind directory中有定义。

callp还有一种区别与call和callb的用法,如果这个module是在同一个程序中,callp操作符可以省略。如callp pgma(parm),可以直接调用为pgma(parm)。

(二)参数传递格式

call、callb可以以下两种方式传递参数:

1)        跟随传参,如call/callb PGMA(parm1,parm2,…prmn)

2)        用PLIST结构传参,如call/callb PlistName

callp pgma(parm1:parm2:…:parmn)

(三)调用功能

call和callp可以调用系统特殊子例程,如获取信息子例程。

callb则不能调用系统特殊子例程。

(待续)

 

阅读(5500) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~