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