第4章 初始化和结束化过程

  每一个代码块都具有一个BEGIN和一个END,尽管在BASM中用ASM关键字代替了BEGIN,但它仍然起着相同的作用。
  有些情况下,BEGIN和END只决定一个语法结构的开始和结束,例如记录和对象类型定义中使用的BEGIN和END。但更多的时候(例如例程定义中),BEGIN与END代表初始化与结束化过程。这一切都是编译器完成的,大多数情况下都是不可见的。
  Delphi中加入了initialization和finalization关键字来定义单元的初始化和结束化节。可以用begin或asm关键字替代initialization—一惟一的影响是:不能再定义finalization节。
  Delphi会为每个单元加入一个initialization节,即使没有显式定义。
  项目文件(.DPR)没有initialization 与finalization节,它的begin..end代表了模块的载入与卸载过程、包的项目文件(.DP)不能定义begin..end块,它的end关键字指向的过程同时担任了载入和卸载过程两种角色。
  本小节讲述BEGIN、END、initialization和 finalization 背后所隐含的所有代码。你将看到System.pas与编译器如何协调地管理你的每一个单元、例程与代码块。

猜你喜欢

转载自www.cnblogs.com/YiShen/p/9884351.html