链接两个MSBASIC程序的方法

Author: Date: 1995-11-24

        链接两个MSBASIC程序的方法
        在设计一个较大的程序时,经常根据程序的功能把它分解成若干个模块,每个模块完成一个特定的子功能,这些模块集成起来就组成一个可供运行的整体,这种模块的集成就叫链接技术。
        在进行模块链接时,涉及到链接程序和被链接程序两个概念。链接程序是指内存中原有的程序,被链接程序是指磁盘上待读入内存并将执行的程序。链接语句的格式是:
        CHAIN [MERGE]<被链接程序名>[,[行号][,[ALL][DELETE<范围>]]]
        根据模块间有无数据<又称为参数>传递,把链接分为有参模块的链接和无参模块的链接。
        (1)有参模块的链接
        进行有参模块的链接时,为了将指定的变量传递给被链接程序,一般可用两种方法实现,一种是使用CHAIN语句中的ALL选项,另一种是使用COMMON语句说明。COMMON语句的格式为:
        COMMON<变量1>[,<变量2>],……,<变量N>]
        COMMON语句常与CHAIN语句联用,其位置最好放在CHAIN语句的前面或程序的开头。
        例如:100 CHAIN“SBA1”,ALL  表示把所有变量传递到被链接程序SBA1中去。
        又如:500 COMMON A,M(),C$
        510 CHAIN “SBA2”
        表示仅把变量A、数组M和字符串变量C$传送到被链接程序SBA2中去。
        (2)无参模块的链接
        当CHAIN语句中无ALL选择项,又无COMMON语句相配合,则这种情况就叫无参链接。例如:
        200 CHAIN “A:SBA”
        执行此语句后,当前原程序文件从内存中消失,同时清除为它而开设的所有缓冲区和关闭当前所有文件,并删除所有当前的变量和数组,而后把A盘中的被链接程序“SBA”调入内存,并从它的起始行开始执行。