项目选项下  编译器标签下的许多内容不知是怎么回事,那20个选项,哪些对于文件大小、程序运行效率、运行的稳定与安全起重要作用?它们决定什么?

解决方案 »

  1.   

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