百度空间 | 百度首页 
 
查看文章
 
以前一直认为很神奇——Pascal的编译开关
2008-05-25 22:19
字母
缺省值
类型
实模式
保护模式
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浏览器使用。
- 不记录单元中的符号信息。

类别:扫盲 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu