链接两个MSBASIC程序的方法 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”调入内存,并从它的起始行开始执行。