菜鸟问题:什么是编译指令,有什么作用?
解决方案 »
- 各位老大,delphi流分为哪几种啊
- TStaticText的字体颜色问题!
- 高手们帮帮我啊
- 变量问题
- 项目分析-大家一起来
- 求数据插入方案
- 我这也遇到了同样的问题 ,就是在socket server端的程序段时间没问题,就是时间一长,如两天以上,程序就不动了,服务器cup 使用率100 ,资源管理器程序显示未响应,只能关掉进程才行,也没有数据了。
- 恭贺新禧,马到成功!
- 怎样配置ADOConnection组件ConnectionString属性的DataSource参数,才能使打包发布时安装到任何目录数据库都能被找到?
- 请教一个问题,我是刚开始学delphi的。很简单的问题。帮帮我吧。(如何获得当前时间)
- 请问谁知道好用的虚拟示波器控件?
- 咋又可以推荐MVP了,不是一年一次吗?
对于局部的编译器设置,只有使用编译指令来完成。 对于开关编译指令,通过在编译指令后加入指示开关状态的加号和减号来控制编译器。例如: {$B+} : 打开完全布尔量检查。
{$Q-} : 关闭溢出检查。 通常,编译指令的作用域是在编译指令后的代码部分,而对于全程的编译指令应该防在单元接口部分的开头。
编译设置对话框的设置都有与之对应的编译指令用于在代码中对编译器进行设置,如下表所示。 设置项 编译指令 Optimizations {$O} Aligned record fields {$A} Stack frames {$W} Pentium-safe FDIV {$U} Range Checking {$R} I/O Checking {$I} Overflow Checking {$Q} Strict Var-strings {$V} Comlete Boolean Eval {$B} Extended Syntax {$X} Typed @ Operator {$T} Open Parameters {$P} Huge Strings {$H} Assertions typed constants {$J} Debug information {$D} Local sysnbols {$L} 在这些编译指令以外还有一些非常有用的编译指令。
$R Filename : 这个编译指令是最为常用的编译指令,他是资源文件编译指令,用于指定连接到执行文件和库的资源文件,例如在工程文件(.dpr)中会有{$R *.RES}的编译指令,表明把后缀为 .RES的与工程文件同名的资源文件连接入执行文件,也可以指定一个资源文件,资源文件的使用对于编写Windows程序来说是很重要的基础。 $I Filename :这个编译指令功能类似于C语言的#Include , 用于指定编译时包括的文件。 ********************************************************************************************** A.3 使用条件编译指令 条件编译指令是非常重要的编译指令,他控制着在不同条件下(例如,不同的操作系统)产生不同的代码。条件编译指令是包含在
注释括号之内的,如下表所示。 条件编译指令 含义 $DEFINE 用于定义一个条件符号,一旦定义,条件符号就为真 $ELSE 与$IFDEF配合使用,如果$IFDEF条件为假,则只对源文件$ELSE后一小部分进行编译 $ENDIF 结束一个以$IF开始的条件段 $IFDEF 对条件符号进行判断,为真则编译源文件 $IFNDEF 对条件符号进行判断,为假则编译源文件 $IFOPT 根据编译开关状态,对源文件编译 $UNDEF 撤消以前的条件符号定义 这些条件编译指令是非常有用的。例如,可以通过开关的状态来控制编译: {IFOPT R+}
showmessage('Compiled with range-checking');
{$ENDIF} 也可以通过定义条件符号来控制编译: {$Define s}
……
{$ifdef s}
showmessage('yes');
{$else}
showmessage('no');
{$endif} 他的编译结果是显示'yes',但是如果省去{$Define s}则显示'no'。
在Delphi中已经预定义了一些关键的条件符号,如下表所示。 条件符号 含义 VERxx 编译器版本,XX表示版本,例如:Delphi 1.0 的编译器版本为80、Delphi 5.0 的编译器版本为130 WIN32 是否WIN32的运行环境(Windows 95.98/NT/2000) CPU386 是否Intel386以上的处理器 CONSOLE 是否控制台程序 Delphi的编译器指令除了以上的指令外还有一些,不过最为常用的指令已经全部介绍完了。对于普通的程序,Delphi是不需要编程者去添加编译器指令的,Delphi已经自动完成,但是要得到高品质的应用程序或者有特殊的要求的程序就必须熟悉Delphi的编译指令。Delphi不仅有最快的编译器而且编译器的功能也非常强大。