b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

pascal 视频教程_pascal和basic_pascal选择排序(103)

电脑杂谈  发布时间:2016-12-28 07:02:37  来源:网络整理

Package declarations and source files(包声明和源文件)

每个包用一个单独的源文件进行声明,它的扩展名是.dpk,以便和其它包含Object Pascal代码的文件混淆。包源文件不包括类型、数据、过程或函数声明。取而代之的是,它包含

? 包的名称;

? 它所需要的其它包的列表。这些包被链接到新包中;

? 包被编译时所包含的(或绑定的)单元文件列表。包实际上是这些代码单元的一个外包装,这些单

元为编译后的包提供功能。

包的声明有如下形式:

package packageName;

requiresClause;

containsClause;

end.

这里,packageName是任何有效标志符;requiresClause和containsClause都是可选的。比如,下面的代码声明了DATAX包。

package DATAX;

requires

baseclx,

visualclx;

contains Db, DBLocal, DBXpress, ... ;

end.

requires子句列出了声明的包所需要的其它外部包。它包括指示字requires,后面是逗号隔开的包名称,然后跟一个分号。若包不引用其它包,它不需要requires子句。

contains子句指明要被编译并绑定到包中的单元。它包括指示字contains,后面是逗号隔开的单元名列表,然后跟一个分号。单元名后面可以跟关键字in和源文件名,源文件名可以包括或不包括路径,并用单引号括起来,路径可以是绝对的,也可以是相对路径。比如,

contains MyUnit in 'C:\MyProject\MyUnit.pas';// Windows contains MyUnit in '\home\developer\MyProject\MyUnit.pas'; // Linux

注意:包单元中的线程局部变量(用threadvar声明)不能被使用包的客户访问。

Naming packages(命名包)

一个编译包包括几个生成文件。比如,包DATAX的源文件是DATAX.dpk,编译器从它生成一个可执行的二进制映像文件,它叫做

- 137 -

Libraries and packages

? 在Windows下: DATAX.bpl and DATAX.dcp ? 在Linux下: bplDATAX.so and DATAX.dcp.

DATAX用来在其它包的requires子句中指定这个包,或当程序使用这个包时用DATAX来指定。在一个工程中,包名必须是唯一的。

The requires clause(requires子句)

requires子句列出了当前包所使用的其它外部包,它的作用就像单元文件中的uses子句。当程序使用当前包,并且使用了requires子句中列出的外部包所包含的一个单元时,外部包被自动链接到程序。 若包中的单元文件引用了其它包中的单元,则其它包应该被包含在第一个包的requires子句中省略了其它包,编译器从.dcu(Windows)或

避免循环包引用

包在它们的requires子句中不能包含循环引用。它的意思是? 包在它的requires子句中不能引用自己;

? 引用链结束时不能引用链中的任何包。若包A需要包需要C,那么C不能需要A。

重复包引用

在包的requires子句中,编译器忽略重复的包引用,但为了设计及程序的可读性考虑,应当删除重复的包引用。

The contains clause(contains子句)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-103.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...