编译选项的设置,称为“开关指令”,其中大部分值为布尔类型
一、代码生成(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