2024年4月30日发(作者:)

DELPHI的编译指令

{$IFDEF WIN32} -- 这可不是批注喔!

对于Delphi来说﹐左右大括号之间的内容是批注﹐然而「{$」(左括号后紧接着货币

符号)对于Compiler(编译器)而言并不是批注﹐而是写给Compiler看的特别指示。

应用时机与场合

Delphi中有许许多多的Compiler Directives(编译器指令)﹐这些编译指令对于我们

的程序发展有何影响呢? 它们又能帮我们什么忙呢?

Compiler Directive 对程序开发的影响与助益, 可以从以下几个方向来讨论:

协助除错

版本分类

程序的重用与管理

设定统一的执行环境

协助除错

稳健熟练的程序设计师经常会在开发应用系统的过程中﹐特别加入一些除错程序或者

回馈验算的程序﹐这些除错程序对于软件品质的提升有极其正面的功能。然而开发完成的

正式版本中如果不需要这些额外的程序的话﹐要想在一堆程序中找出哪些是除错用的程序

并加以删除或设定为批注﹐不仅累人﹐而且容易出错﹐况且日后维护时这些除错程序还用

得着。

此时如果能够应用像是$IFDEF的Compiler Directives ﹐就可以轻易的指示Delphi

要/不要将某一段程序编进执行文件中。

同时﹐Compiler本身也提供了一些错误检查的开关﹐可以预先对程序中可能的问题

提醒程序设计师注意﹐同样有助于撰写正确的程序。

版本分类

除了上述的除错版本/正式版本的分类之外﹐对于像是「试用版」「普及版」「专业版」

的版本分类﹐也可以经由Compiler Directive的使用﹐为最后的产品设定不同的使用权

限。其它诸如「中文版」「日文版」「国际标准版」等全球版本管理方面﹐同样也可以视需

要指示Delphi特别连结哪些资源档或者是采用哪些适当的程序。以上的两则例子中﹐各版

本间只需共享同一份程序代码即可。

Delphi 1.0 与 Delphi 2.0有许多不同之处﹐组件资源文件(.DCR)即是其中一例﹐两

者的档案格式并不兼容﹐在您读过本文之后﹐相信可以写出这样的程序﹐指示Delphi在

不同的版本采用适当的资源文件以利于组件的安装。

{$IFDEF WIN32}

{$R }