抉择不悔

倒计时


日志分类
小站公告
“人只不过是一根苇草,是自然界最脆弱的东西;但他是一根能思想的苇草。用不着整个宇宙都拿起武器来才能毁灭他;一口气、一滴水就足以致他死命了。然而,纵使宇宙毁灭了他,人却仍然要比致他于死命的东西更高贵得多;因为他知道自己要死亡,以及宇宙对他所具有的优势,而宇宙对此却是一无所知。因而,我们全部的尊严就在于思……”
    ----帕斯卡尔
最新日志
最新回复
最新留言
用户登陆
博客统计
博客名称:抉择不悔 日志总数:20 评论数量:4 访问次数:97369 建立时间::2005年05月21日

 [我的文摘] 笔记:Delphi编译指令详解
标签(TAG): Delphi编译指令详解(1)——总述

Delphi编译指令共有三种,开关编译指令、参数编译指令和条件编译指令。

一个编译指令实际上是一个标志符(编译器所能识别的标志符),且有其固定的语法。
编译器根据不同的指令按不同的方式编译程序。
你可以将一个编译指令放在程序的任何位置。编译指令的开始字符是“ $“ ,
它总是出现在 “{“符号之后,$之后为编译指令的实际部分,可以是一个或
多个字符(根据指令的不同而定),在指令后还可以包含一个或多个需要的参数。
一个编译指令的结束符为“}”。

下面分别讲述三种编译指令

开关编译指令地特点是它有 on 、off 两种转换状态。对于单字符版本,
你可以在编译指令后添加 "+"或“-”。对于长字符版本,你可以在编译指令后添加
“on”或“off”。


开关编译指令又分为全局和局部两种。

全局编译指令影响全部的编译内容,它必须在放在程序和单元声明之前。

局部编译指令仅影响局部的编译内容,它的影响范围是,直至下一个最近的编译指令。
它可以放在程序的任意位置。

开关编译指令可以组合成一个简单的编译指令组,中间用逗号分开,但不能有空格。
例如:
{$B+,R-,S-}


参数编译指令通过参数指定影响的的内容,参数可以为文件名或内存大小等。


条件编译指令指定的条件如何编译特定的区域段。也就是如果满足某个条件,
则按照一种方式编译,否则按另一种方式编译。

所有的编译指令(除开关编译指令外)在名字和参数之间至少应有一个空格。
例如:
{$B+}

{$STACKCHECKS ON}
{$R- Turn off range checking}
{$I TYPES.INC}
{$M 32768,4096}
{$DEFINE Debug}
{$IFDEF Debug}

{$ENDIF}


Delphi编译指令详解(2)——排列字段类型(Align fields)

Type Switch //开关编译指令
Syntax {$A+}, {$A-}, {$A1}, {$A2}, {$A4}, or {$A8}
{$ALIGN ON}, {$ALIGN OFF}, {$ALIGN 1}, {$ALIGN 2}, {$ALIGN 4}, or {$ALIGN 8}
Default {$A8}
{$ALIGN 8}
Scope Local //局部指令

说明:

指令 $A 控制Delphi中的记录类型字段和类结构型字段。

在指令 {$A1} 或 {$A-}状态下,字段是无序的,所有的记录和类结构都被积压在一起,无序排放。

在指令 {$A2} 下,记录型的字段在声明时没有packed,类型结构中的字段,按字节顺序排列。

在指令 {$A4} 下,记录型的字段在声明时没有packed,类型结构中的字段,按双字节顺序排列。

在指令 {{$A8} 或 {$A+} 下,记录型的字段在声明时没有packed,类型结构中的字段,按四字节顺序排列。

在指令 $A 下,无论变量类型,常量类型,总是以最佳存取方式排列。在 {$A8} 下,按最快的方式排列。

Delphi编译指令详解(3)——注释与编译指令的区别与联系(Comments and compiler directives)


注释的内容将被编译器忽略,除非它们是离析器函数或编译指令。

这里有几种常见的注释结构

{ 括在此大括号中的内容为注释内容 ,此内容可以为多行,只要在两个大括号之间即可以,注释掉的内容一般都会以特殊的字体和颜色显示(适合所有的注释类型),很容易区分}
(* 在此括号和星号之间的内容为注释内容 *)
// 在此双反斜线后的内容为注释内容,此处只能为一行。.


注释不能被嵌套。如{{}}将不起作用,但是(*{}*)是允许的。

还有一种注释它跟普通的注释很像,但它有特殊的一点 以 "{$" 开始,以“}“,此种注释称为编译指令。

{$WARNINGS OFF}

它将告诉编译器不要产生错误警告信息。

说白了 编译指令 不是一种注释,而是一种告诉编译器如何编译的指示符。


Delphi编译指令详解(4)——应用程序类型

Type Parameter //参数指令
Syntax {$APPTYPE GUI} or {$APPTYPE CONSOLE}
Default {$APPTYPE GUI}
Scope Global //局部指令

说明


$APPTYPE 编译指令决定是否产生 Win32 控制台程序(以DOS方式显示)或
图形界面程序(以窗口显示,大部分为此程序)。

在{$APPTYPE GUI}编译指令下,编译器产生 图形界面程序,这是一种普通的Delphi应用程序。

在{$APPTYPE CONSOLE}编译指令下,编译器产生一个控制台应用程序。
当一个控制台程序启动的时候,出现一个控制台窗口,通过此窗口用户可以和应用程序交互。
此时标准的输入输出命令与控制台程序自动结合。

IsConsole布尔变量在System单元中,通过它可以查看程序是否运行在控制台程序下或图形界面程序下。

$APPTYPE编译指令只能出现在程序中。他不可以出现在 库文件 单元文件 和包中。


Delphi编译指令详解(5)——声明称指令(Assert directives)

Type Switch //开关类型
Syntax {$C+} or {$C-}
{$ASSERTIONS ON} or {$ASSERTIONS OFF}
Default {$C+}
{$ASSERTIONS ON}
Scope Local //局部

说明

$C 指令决定在Delphi资源文件中能否产生声明代码。{$C+}为默认指令。

此声明通常不用在运行时中的测试版本产品中。

Delphi编译指令详解(6)——调试信息

Type Switch //开关类型
Syntax {$D+} or {$D-}
{$DEBUGINFO ON} or {$DEBUGINFO OFF}
Default {$D+}
{$DEBUGINFO ON}
Scope Global //局部指令

说明:


$D 指令决定能否产生调试信息。这个信息是由每个进程产生的一个成员列表,
并记录对象代码地址在资源文件中的行号。

对于单元文件,调试信息记录在和单元文件一起的单元对象代码中。
调试信息增加单元文件的大小,当编译程序编译单元文件是将增加而外的内存。
但它不影响可执行程序的大小和速度。

当一个程序或单元文件在{$D+}状态下被编译,综合调试允许你在此模块中单步运行和设置断点。

$D指令通常和 $L一起使用,他们能决定是否产生局部调试的符号信息。

Delphi编译指令详解(7)——库文件与共享对象

Type Parameter //参数编译指令
Syntax $LIBPREFIX 'string'
$LIBSUFFIX 'string'
$LIBVERSION 'string'
Defaults $LIBPREFIX 'lib' or $SOPREFIX 'bpl'
$LIBSUFFIX ' '
$LIBVERSION ' '
Scope Global //局部指令

说明:


$LIBPREFIX 指令可以覆盖 默认的 'lib' 或 'bpl'输出文件前缀。例如你可以指定
{$LIBPREFIX 'dcl'}

对于一个设计时间包,你可以使用下面的指令去所有的前缀。
{$LIBPREFIX ' '}

$LIBSUFFIX 指令添加一个指定的后缀(在扩展明之前)到输出文件名中。
例如,使用
{$LIBSUFFIX '-2.1.3'}
添加到something.pas中,将产生
something-2.1.3.dll 文件


$LIBVERSION指令添加一个二层扩展(在原扩展名之后)到输出文件名中。例如使用
{$LIBVERSION '-2.1.3'}
在something.pas中将产生
libsomething.dll.2.1.3 文件

Delphi编译指令详解(8)——定义指令

Type Conditional compilation //条件指令
Syntax {$DEFINE name}


根据一个给定的名字设计一个Delphi条件符号。这个符号需要在此模块中已经声明和验证,
或者在{$UNDEF name}中已经出现。如果 此名字已经定义则{$DEFINE name}将失效。


Delphi编译指令详解(9)——描述指令

Type Parameter //参数
Syntax {$DESCRIPTION 'text'}
Scope Global //局部

说明


$D指令插入你指定的模块文件中,当它应放在可执行文件,Dll文件,或包的前面。
一般来说指明的是名字、版本号和版权,但是你也可以指定你需要指定的内容。
例如:
{$D 'My Application version 12.5'}


字符串不能超过256个字节。此描述对于最终用户一般是看不到的。标志你的执行文件,
通过描述性文字,版本和版权信息,将对你的最终用户有意。

提示:此文本描述必须包含在引用中。

Delphi编译指令详解(10)——ELSE指令

Type Conditional compilation //条件指令
Syntax {$ELSE}

说明:

此指令位于{$IFxxx}之后,{$ENDIF} or {$IFEND}之前,是编译与忽略源代码的界线。

抉择不悔 发表于:2005/6/8 12:54:08 阅读(3951) 评论(16)
 回复:笔记:Delphi编译指令详解
OKey!

手机铃声 铃声下载 免费铃声 免费铃声下载 免费手机铃声下载 和弦铃声 三星铃声 三星手机铃声下载 MP3铃声 手机铃声下载 手机自编铃声 MP3手机铃声 诺基亚铃声下载 NOKIA铃声下载 小灵通铃声下载 真人铃声 MP3铃声下载 自编铃声 联通铃声下载 移动手机铃声下载 联通手机铃声免费下载 TCL铃声 飞利浦铃声下载 特效铃声 搞笑铃声 MIDI铃声 铃声图片 MMF铃声下载 免费手机图片下载 免费手机点歌 手机短信 手机彩信 手机彩铃 康佳手机铃声下载 TCL手机铃声下载 迪比特手机铃声下载 手机和旋铃声 三星手机铃声 三星手机和弦铃声下载 波导手机铃声下载 熊猫手机铃声下载 免费手机铃声 科健手机铃声下载 海尔手机铃声下载 诺基亚手机铃声下载 手机和弦铃声 手机铃声图片下载 飞利浦手机铃声下载 手机自编铃声曲谱 小灵通手机铃声下载 手机铃声编辑 CDMA手机铃声下载 摩托罗拉手机铃声下载 联通CDMA手机铃声下载 松下手机铃声下载 东信手机铃声下载 联想手机铃声下载 中兴手机铃声下载 大显手机铃声下载 首信手机铃声下载 三星手机自编铃声 三星CDMA手机铃声 康佳手机和弦铃声 MP3手机铃声下载 索尼爱立信手机铃声 手机铃声大全 三星手机铃声图片下载 手机特效铃声 手机铃声制作 三星手机铃声免费下载 TCL手机自编铃声 松下手机自编铃声 飞利浦手机自编铃声 诺基亚手机自编铃声 摩托罗拉自编铃声 三星手机MP3铃声 手机MP3铃声制作软件 免费MP3铃声下载 摩托罗拉MP3铃声 三星MP3铃声下载 联通MP3铃声下载 中国移动铃声下载 中国联通手机铃声下载 免费联通手机铃声 联通铃声 联通用户手机铃声下载 联通手机和弦铃声下载 联通手机铃声图片下载 小灵通铃声免费下载 和弦铃声免费下载 免费下载三星铃声 诺基亚免费铃声下载 联通免费铃声下载 免费铃声图片下载 MMF铃声免费下载 TCL免费铃声下载 免费下载铃声 手机铃声免费下载 松下免费铃声下载 NOKIA免费铃声下载 MIDI铃声免费下载 和弦铃声下载 TCL免费手机铃声下载 免费手机铃声图片下载 免费手机铃声下载网站 小灵通手机铃声免费下载 诺基亚手机铃声免费下载 摩托罗拉手机铃声免费下载 三星和弦铃声 CECT和弦铃声下载 三星T108和弦铃声 NOKIA和弦铃声下载 康佳和弦铃声下载 迪比特和弦铃声下载 阿尔卡特和弦铃声 CDMA和弦铃声下载 夏新和弦铃声下载 西门子和弦铃声 诺基亚和弦铃声 联通和弦铃声 三星铃声下载 三星和旋铃声 三星T108铃声下载 三星手机铃声乐园 三星CDMA铃声下载 三星免费铃声 三星真人铃声 诺基亚3100铃声下载 NOKIA手机铃声下载 怎样下载小灵通铃声 真人铃声下载 真人真唱手机铃声下载 联通用户铃声下载 联通CDMA铃声下载 TCL手机铃声图片下载 TCL手机和弦铃声下载 飞利浦630铃声下载 三星特效铃声 手机特效铃声下载 搞笑短信 MMF手机铃声 MMF格式铃声 免费短信 短信笑话 幽默短信 经典短信 谜语短信 短信祝福 爆笑短信 生日短信 爱情短信 精彩短信 情人节短信 短信传情 节日短信 彩信图片 彩信动画 彩信相册 免费彩信下载 三星彩信 联通彩信 移动彩信 彩信铃声 免费彩铃下载 移动彩铃 联通彩铃 12530彩铃 小灵通彩铃 免费三星手机铃声 免费和弦铃声 手机图铃下载 免费图铃下载 待机彩图 三星手机待机彩图 ***铃声 网络游戏 免费游戏下载 小游戏 在线游戏 游戏外挂 游戏论坛 游戏点卡 联众游戏 泡泡堂游戏 游戏攻略 FLASH游戏 单机游戏下载 美女 美女图片 美女写真 美女论坛 性感美女 美女走光 街头走光 走光照片 免费电影下载 免费在线电影 免费电影在线观看 小电影 免费成人电影 免费激情电影 电影论坛 PP点点通电影下载 BT电影下载 免费三级电影 爱情电影 舒淇电影 韩国电影 周星驰电影 流行音乐 免费音乐下载 音乐在线 在线音乐 古典音乐 音乐试听 MP3音乐 MP3下载 MP3播放器 MP3随身听 免费MP3歌曲下载 QQ下载 申请QQ QQ幻想外挂 QQ表情 QQ挂机 珊瑚虫QQ QQ头像 QQ游戏 QQ空间代码 QQ个性签名 网络小说 玄幻小说 成人小说 爱情小说 小说下载 金庸小说 武侠小说 聊天室 语音聊天室 列车时刻表 手机铃声 铃声下载 免费铃声 免费铃声下载 免费手机铃声下载 和弦铃声 三星铃声 三星手机铃声下载 MP3铃声 手机铃声下载 手机自编铃声 MP3手机铃声 诺基亚铃声下载 NOKIA铃声下载 小灵通铃声下载 真人铃声 MP3铃声下载 自编铃声 联通铃声下载 移动手机铃声下载 联通手机铃声免费下载 TCL铃声 飞利浦铃声下载 特效铃声 搞笑铃声 MIDI铃声 铃声图片 MMF铃声下载 免费手机图片下载 免费手机点歌 手机短信 手机彩信 手机彩铃 康佳手机铃声下载 TCL手机铃声下载 迪比特手机铃声下载 手机和旋铃声 三星手机铃声 三星手机和弦铃声下载 波导手机铃声下载 熊猫手机铃声下载 免费手机铃声 科健手机铃声下载 海尔手机铃声下载 诺基亚手机铃声下载 手机和弦铃声 手机铃声图片下载 飞利浦手机铃声下载 手机自编铃声曲谱 小灵通手机铃声下载 手机铃声编辑 CDMA手机铃声下载 摩托罗拉手机铃声下载 联通CDMA手机铃声下载 松下手机铃声下载 东信手机铃声下载 联想手机铃声下载 中兴手机铃声下载 大显手机铃声下载 首信手机铃声下载 三星手机自编铃声 三星CDMA手机铃声 康佳手机和弦铃声 MP3手机铃声下载 索尼爱立信手机铃声 手机铃声大全 三星手机铃声图片下载 手机特效铃声 手机铃声制作 三星手机铃声免费下载 TCL手机自编铃声 松下手机自编铃声 飞利浦手机自编铃声 诺基亚手机自编铃声 摩托罗拉自编铃声 三星手机MP3铃声 手机MP3铃声制作软件 免费MP3铃声下载 摩托罗拉MP3铃声 三星MP3铃声下载 联通MP3铃声下载 中国移动铃声下载 中国联通手机铃声下载 免费联通手机铃声 联通铃声 联通用户手机铃声下载 联通手机和弦铃声下载 联通手机铃声图片下载 小灵通铃声免费下载 和弦铃声免费下载 免费下载三星铃声 诺基亚免费铃声下载 联通免费铃声下载 免费铃声图片下载 MMF铃声免费下载 TCL免费铃声下载 免费下载铃声 手机铃声免费下载 松下免费铃声下载 NOKIA免费铃声下载 MIDI铃声免费下载 和弦铃声下载 TCL免费手机铃声下载 免费手机铃声图片下载 免费手机铃声下载网站 小灵通手机铃声免费下载 诺基亚手机铃声免费下载 摩托罗拉手机铃声免费下载 三星和弦铃声 CECT和弦铃声下载 三星T108和弦铃声 NOKIA和弦铃声下载 康佳和弦铃声下载 迪比特和弦铃声下载 阿尔卡特和弦铃声 CDMA和弦铃声下载 夏新和弦铃声下载 西门子和弦铃声 诺基亚和弦铃声 联通和弦铃声 三星铃声下载 三星和旋铃声 三星T108铃声下载 三星手机铃声乐园 三星CDMA铃声下载 三星免费铃声 三星真人铃声 诺基亚3100铃声下载 NOKIA手机铃声下载 怎样下载小灵通铃声 真人铃声下载 真人真唱手机铃声下载 联通用户铃声下载 联通CDMA铃声下载 TCL手机铃声图片下载 TCL手机和弦铃声下载 飞利浦630铃声下载 三星特效铃声 手机特效铃声下载 搞笑短信 MMF手机铃声 MMF格式铃声 免费短信 短信笑话 幽默短信 经典短信 谜语短信 短信祝福 爆笑短信 生日短信 爱情短信 精彩短信 情人节短信 短信传情 节日短信 彩信图片 彩信动画 彩信相册 免费彩信下载 三星彩信 联通彩信 移动彩信 彩信铃声 免费彩铃下载 移动彩铃 联通彩铃 12530彩铃 小灵通彩铃 免费三星手机铃声 免费和弦铃声 手机图铃下载 免费图铃下载 待机彩图 三星手机待机彩图 ***铃声 网络游戏 免费游戏下载 小游戏 在线游戏 游戏外挂 游戏论坛 游戏点卡 联众游戏 泡泡堂游戏 游戏攻略 FLASH游戏 单机游戏下载 美女 美女图片 美女写真 美女论坛 性感美女 美女走光 街头走光 走光照片 免费电影下载 免费在线电影 免费电影在线观看 小电影 免费成人电影 免费激情电影 电影论坛 PP点点通电影下载 BT电影下载 免费三级电影 爱情电影 舒淇电影 韩国电影 周星驰电影 流行音乐 免费音乐下载 音乐在线 在线音乐 古典音乐 音乐试听 MP3音乐 MP3下载 MP3播放器 MP3随身听 免费MP3歌曲下载 QQ下载 申请QQ QQ幻想外挂 QQ表情 QQ挂机 珊瑚虫QQ QQ头像 QQ游戏 QQ空间代码 QQ个性签名 网络小说 玄幻小说 成人小说 爱情小说 小说下载 金庸小说 武侠小说 聊天室 语音聊天室 列车时刻表


latazi8 发表于:2007/1/18 14:54:05 引用 | 举报回复
 

中华工控网 | 联系我们 | 工控论坛首页 | 工控博客首页 | 博客注册 | 博客登陆

工控博客管理联系邮箱:工控博客服务邮箱

中华工控网 © Copyright 2013. All rights reserved.