Delphi编译选项

编译选项的设置,称为“开关指令”,其中大部分值为布尔类型

一、代码生成(Code generation)

1、Optimization

优化代码,默认true

2、Stack frames

生成过程/函数的Stack frames(调试工具用),默认false

3、Pentium-safe FDIV

修正早期Pentium处理器FDIV指令集浮点运算缺陷(已过期选项,Win95以后的操作系统内部已修正),默认false

4、Record Field alignment,控制记录和类中字段对齐方式,默认值8,即按四字对齐

二、语法选项(Syntax options)

5、Strict var-strings

当ShortString作为var参数时,执行严格类型检查(已过期选项,主要为兼容旧版本),默认true

6、Complete boolean eval

对布尔表达式完全运算,默认false

7、Extended syntax

对函数调用和Null结束字符串的使用规定,已不使用

8、Typed @ operator

@(即Addr)是否得到有类型指针,默认false

9、Open parameters

早期版本中OpenString的使用规定,已不使用

10、Huge strings

String默认为AnsiString还是ShortString,默认true,即AnsiString

11、Assignable typed constant

有类型常量的值能否修改,默认false

三、运行时错误(Runtime errors)

12、Range Checking

对ShortString、有序类型、Array的越界检查,默认false,调试时可打开

13、I/O Checking

在I/O方法中如果调用失败,是否触发异常,默认false

14、Overflow checking

算术运算溢出检查,默认false,调试时可打开

四、调试(Debugging)

15、Debug information

生成调试信息到DCU文件,默认true

16、Local symbols

生成本地符号(变量、常数)信息供调试器使用,默认true

17、Reference info

生成符号定义和引用位置信息表供IDE使用,默认true,只有上面两项都为true时有效

18、Definitions only

和上一项为一组,表示只生成定义位置信息表

19、Assertions

允许使用Assert全局方法,默认true

20、Use Debug DCUs

允许连接含调试信息的DCU