使用过程和函数指针
过程指针 是使用 USAGE IS PROCEDURE-POINTER 子句定义的数据项。 函数指针 是使用 USAGE IS FUNCTION-POINTER 子句定义的数据项。
关于此任务
在本信息中, 指针
指的是过程指针数据项或函数指针数据项。 可以将其中任一数据项设置为包含以下入口点的入口地址或指向这些入口点的指针:
- 另一个没有嵌套的 COBOL 程序。
- 以另一种语言编写的程序。 例如,要接收 C 函数的条目地址,请使用
CALL语句的CALL RETURNING格式调用该函数。 它返回一个指针,您可以使用SET语句的格式将该指针转换为过程指针。 - 另一个 COBOL 程序的备用入口点(在
ENTRY语句中定义)。
只能使用 SET 语句来设置指针数据项。 例如:
CALL 'MyCFunc' RETURNING ptr.
SET proc-ptr TO ptr.
CALL proc-ptr USING dataname.
假设您将指针项设置为由 CALL identifier 语句调用的装入模块中的条目地址,并且您的程序稍后将取消该调用模块。 指针项变为未定义,此后对其的引用不可靠。