字母 | 缺省值 | 类型 | 实模式 | 保护模式 | Windows | 含义 | 具体含义 |
A | A+ | 全程 | √ | √ | √ | 按字地址对齐 | + | 所有大于1字节的变量或类型常数均从偶地址开始存放。 |
- | 变量或类型常数均简单地放在下一可用地址。 |
B | B- | 局部 | √ | √ | √ | 布尔计值控制 | + | 执行完全布尔计值。 |
- | 执行短路布尔计值。 |
D | D+ | 全程 | √ | √ | √ | 调试信息开关 | + | 将调试信息保存在一个行号表中,以供当运行出错时指示错处。 |
- | 不产生调试信息行号表。 |
E | E+ | 全程 | √ | √ | √ | 浮点运算仿真 | + | 不出现8087数字协处理器时运算允许用运行库仿真。 |
- | 必须有8087数字协处理器才能进行浮点运算。 |
F | F- | 局部 | √ | √ | √ | 强制远程调用 | + | 对子程序的调用总是远程调用。 |
- | 由Pascal自动选择对子程序的调用方式——远程调用或近程调用。 |
G | G- | 全程 | √ | √ | √ | 产生286代码 | + | 编译器使用80286的附加指令以改善代码生成,但所编译的代码不能在8088或8086上运行。 |
- | 编译器只产生通常的8086指令。 |
I | I+ | 局部 | √ | √ | √ | I/O出错检查 | + | 由系统执行I/O出错检查。 |
- | 系统不执行I/O出错检查。 |
K | K+ | 全程 | | | √ | | |
L | L+ | 全程 | √ | √ | √ | 局部符号开关 | + | 产生某一模块的局部符号信息,使IDE可检查和修改模块的局部变量。如果调试信息开关置为{$D-},则忽略{$L+}编译指示。 |
- | 不产生某一模块的局部符号信息。 |
N | N- | 全程 | √ | √ | √ | 数字协处理器 | + | 使用数字协处理器,以硬件实现各类实型数运算。 |
- | 不使用数字协处理器,实型数运算以软件实现。 |
O | O- | 全程 | √ | | | 产生覆盖代码 | + | 控制产生覆盖代码。经常与强制远调用编译指示{$F+}连用,以满足覆盖管理程序远程调用的要求。 |
- | 不产生覆盖代码。 |
P | P- | 全程 | √ | √ | √ | 不定长字串参 | + | string类型的字符串实参不预先确定最大长度,调用子程序时自动设为与实际参数类型一致。 |
- | 不使用不定长字符串参数,与旧版本兼容。 |
Q | Q- | 局部 | √ | √ | √ | 整数溢出检查 | + | 整数运算检查溢出错误。 |
- | 整数运算不检查溢出。 |
R | R- | 局部 | √ | √ | √ | 下标范围检查 | + | 对运行时所有数组和字符串的下标表达式检查其值是否越界,并对标量和子界的测试值检查是否在指定范围内。 |
- | 不执行上述检查。 |
S | S+ | 局部 | √ | √ | √ | 栈空间域检查 | + | 在每次子程序调用前检查是否有足够的栈空间。 |
- | 不执行上述检查。 |
T | T- | 局部 | √ | √ | √ | 指针类型检查 | + | @操作返回结果类型为类型指针。 |
- | @操作返回结果类型为无类型指针。 |
V | V+ | 局部 | √ | √ | √ | 串长匹配检查 | + | 对于在子程序中作为变量参数传递的字符串类型进行严格检查,要求实在参数与形式参数属于同一命名类型,即字符串长度必须一致。 |
- | 不进行串长匹配检查,即允许实在参数与形式参数类型中的字符串长度不匹配。 |
W | W+ | 局部 | | | √ | | |
X | X+ | 全程 | √ | √ | √ | 扩充词法开关 | + | 函数调用可用语句形式表示,此时函数结果值可予抛弃。 |
- | 函数调用按通常形式,只能出现在表达式中。 |
Y | Y+ | 全程 | √ | √ | √ | 符号索引信息 | + | 把单元中的符号信息记录在单元编译文件中,供IDE浏览器使用。 |
- | 不记录单元中的符号信息。 |