A.1 使用编译设置对话框
编译器的编译指令是用于指定编译器对项目编译过程的动作和行为。可以通过[Project]->[Options]->[Complier]选项页进行设置,绝大部分的编译环境都可以通过这一对话框进行调整,他包含了对代码、语法、调试信息等的设置。
1.代码设置(Code Generation)
Optimization: 代码优化开关
Aligned record fields: 字对齐数据。这个编译指令能够在变量和类型化常量的字节对齐和字对齐之间进行切换,其作用是全局的。
Stack frames: Windows 堆栈帧。其作用域是局部的,他使编译器成为远端过程和函数生成特定的开头和结尾代码。这个指令用于Windows 3.0的实模式,对所有Delphi应用程序他应该是关闭的。
Pentium-safe FDIV: Pentium安全FDIV检查。此指令能够在Pentium处理器中指定编译器是否创建能够检测和使用有缺陷的浮点除法指令的代码。
2.运行期错误(Runtime Errors)
Range Checking: 范围检查。这个指令的作用范围是局部的,用于控制范围检验代码的生成。
I/O Checking: I/O检查。这个指令的作用域为局部,用来生成对一个文件的输入和输出过程和调用结果进行检查的代码。一般应该使其功能打开。
Overflos Checking: 溢出检查。其作用是生成对算术溢出检查的代码。
3.语法设置(Syntax Optings)
Strict Var- strings: 静态变量串开关。用来控制对以变量参数形式传递的串的类型检查。
Comlete Boolean Eval: 完全布尔表达量判定。用于执行强制的完整表达式判定。完全布尔量判定,有可能导致系统崩溃,所以一般不使用他。
Extended Syntax: 扩展语法开关。他能允许或禁止Delphi的扩展语法。
Typed @ Operator: 类型化的@运算符检查。应用于局部的变量引用上,控制@运算符返回的指针值类型。
Open Parameters: 开放参数开关。用于控制使用String关键字声明的变量参数。开放参数允许将大小不一的串变量传递到同一个过程或函数中,一般在汇编中会使用到。
Huge Strings: 字符串类型开关。用于控制Ansistring和Shortstring类型的切换。当打开时符合Ansistring,关闭时符合Shortstring。
Assignable Typed Constants: 可分配类型常量。用于向下与Delphi 1.0兼容。
4.调试(Debugging)
Debug Information: 调试信息开关。用于设置是否把调试信息写入以编译的单元文件(.dcu)。
Local Symbols: 局部符号开关。允许或禁止局部符号信息的创建。
Reference Info/Definitions Only: 符号信息开关。用于允许或禁止由Delohi的对象浏览器使用的符号引用信息的生成。
Assertions: 用于控制局部代码的属性。
Use Debug DCUs: 使用或禁止VCL的DCU文件调试。
5.信息(Messages)
Show Hints: 显示暗示。
Show Warnings: 显示警告。
**********
A.2 使用编译指令
除了使用编译设置对话框对编译器进行设置外,还可以通过编译指令来对编译器进行设置。
对于局部的编译器设置,只有使用编译指令来完成。
对于开关编译指令,通过在编译指令后加入指示开关状态的加号和减号来控制编译器。例如:
{$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 , 用于指定编译时包括的文件。
{$O+} 最佳化开关
建议您维持 {$O+} 的系统默认值。开启这个 Compiler directive, Delphi 会自动进行最佳化处理 , 程序可以因此跑得快一些 , 您可以放心的打开这个编译开关 , Delphi不会进行不安全的最佳化而使您的程序执行时发生错误。
{$Q-} 满溢检查 , {$R-} 范围检查
{$Q} 与 {$R} 是一组搭配使用的 Compiler directive, 它们将检查数值或数组的操作是否在安全的边界中,{$Q}会检查整数运算(如+, -, Abs, Sqr, Pred,
Succ等),而{$R}则检查字符串与数组的存取是否超出合理边界范围等问题。 使用这两个 Compiler directives 会因为这些检查动作而降低程序执行的速度 ,通常我们会在除错时开启这两个编译开关。
{$U-} Pentium CPU 浮点运算安全检查
还记得早期 Pentium CPU 浮点运算不正确的事吧 ? 这批 CPU 应该回收得差不多了 ,但如果您仍然不确定程序会不会意外的遇到漏网之鱼或黑心牌经销商的话 , 请将这个Compiler directives 设为 {$U+} 。
根据 Borland 手册的说明 , 如果 CPU 是没有暇疵的 , 设定 {$U+} 对于执行速度只有轻微的影响 ; 但如果是问题 CPU, 浮点的除法速度会因此慢上三倍 , 是否要打开这个开关 ,您心中应该已有取舍。
分享到:
相关推荐
在使用Delphi 开发的时候,经常会出现IDE布局混乱,在这种情况下,无论咋样调整都恢复不到原始的,使用起来很是麻烦,于是我就做了这个程序,主要用来恢复Delphi的IDE开发环境布局。 支持 Delphi 10、11、12 关闭...
配合Delphi IDE Twilight主题色,设置类似VS2015全黑背景的开发环境 ,保护视力。
配置delphi的编程环境颜色;The Delphi IDE Theme Editor (DITE) is a tool to customize the IDE color highlighting of several Object Pascal IDE's like Delphi (RAD Studio), Appmethod, Lazarus and Smart ...
The Delphi IDE Theme Editor (DITE) is a tool to customize the IDE color highlighting of several Object Pascal IDE's like Delphi (RAD Studio), Appmethod, Lazarus and Smart Mobile Studio
Delphi 7 IDE集成开发环境详解 Delphi 7 IDE集成开发环境详解
重新安装delphi后不需重新安装三方组件及ide环境 导出源环境注册表 HKEY_CURRENT_USER\Software\Borland 复制原来的文件夹 C:\Program Files\Borland\Delphi7\Projects\Bpl 恢复方法 1.覆盖原来的C:\Program Files\...
改善IDE环境,扩展菜单,当组件太多时进行分类,方便使用
Delphi 6 集成开发环境
目前这个Wizard已完成将TortoiseCVS中部份功能结合到delphi 的IDE中。我想应该还有很多朋友也想有一个集成到IDE中的CVS,于是将他共享出来(附原码),一是给朋友提供方便,二来可以请高手指教。 目前在以下环境中...
Delphi 2010 是一款功能强大且广泛应用的集成开发环境(IDE),其提供了丰富的开发工具和组件库,包括各种包和库。然而,在安装这些包时,正确地设置包的路径是非常重要的。本文将详细介绍 Delphi 2010 包安装时如何...
启动 Delphi IDE:安装完成后,启动 Delphi 集成开发环境(IDE)。 创建项目:在 Delphi IDE 中,选择 File -> New -> VCL Forms Application 来创建一个新的 VCL 窗体应用程序。 设计界面:使用 Delphi IDE 的...
Chapter 2: Navigating the Delphi IDE: 介绍 Delphi 集成开发环境(IDE)的界面和功能,向读者展示如何使用 IDE 进行编程。 Chapter 3: Delphi Programming Basics: 讲解 Delphi 编程的基础知识,包括变量、数据...
通过下面的介绍,你将清楚的了解怎样从命今建入Delphi的IDE环境,并了解其详细的参数 Delphi的命今行参数对大小不敏感,对于参数 -d /d -D /D在Delphi中取着同样的作用 Delphi的执行程序名为Delphi32.exe,以下你...
本书全面深入地介绍了Delphi 5的集成开发环境、基本编程技巧、项目管理、调试器、Object Pascal语言、动态链接库、与C++共享代码、面向对象编程、VCL的结构、Open Tools API、编写自己的元件和包等内容。Delphi 5是...
介绍一个Delphi实例: AVRSIDE-free alternative IDE for WINAVR 是开源的AVR开发环境 官方网站:http://www.avrside.fr.pl/eng/ind_eng.html
你甚至可以用它加载其它向导,如GExpert(它只能在普通加载项中加载),警告:(鸡肋功能,本来想用于调试向导时用,但作用不大)在加载管理器对话框中,谨用卸载和删除功能,有可能造成IDE环境的破坏,请尽可能在...
TortoiseSVN2IDE最初来源于DelphiAddinForTortoiseSVN,这是一个把TortoiseSVN集成到Delphi IDE环境中的一个小工具,但博主嫌它是个英文软件且名字又不直观,于是就对它按照TortoiseSVN的官方中文包进行了中文化并...
- **开发环境**: Delphi,一个强大的集成开发环境(IDE),广泛用于构建桌面和移动应用程序。 - **编程语言**: Object Pascal,Delphi使用的主要编程语言,是一种结构化的、面向对象的编程语言。 - **程序结构**: ...