|
字母
|
缺省值
|
类型
|
实模式
|
保护模式
|
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浏览器使用。 |
| - |
不记录单元中的符号信息。 |