大榕树 \ Pascal语言 \ 算法与技巧

常见编译参数和编译指示及优化

原文链接:http://www.mydrs.org/program/list.asp?id=572

参数编译指示:
符号 缺省值或格式        类型  功能
M    M 16384 0 655360   全程    动态内存分配 实模式 规定栈尺寸,堆最小尺寸,堆最大尺寸
O    O单元名            局部  覆盖单元开关(此单元必须是用编译指
                               示的{$O+}状态编译的单元
编译开关指示:
符号  类型  具体含义
A:  全程   按地址对齐
             默认和优化:A+ 所有大于一安茸的变量或类型常数均从偶地址开始存放
                        A-   变量或类型常数均简单地放在下一可用地址
B:  全程   布尔计值控制
             默认:     B+   执行完全布尔值计值运算
             优化:     B-    执行短路布尔值计算
D:  全程   调试信息开关
             默认:     D+   将调试信息保存在一个行号表中,当运行出错时指示出错处
             优化:     D-    不产生调试信息行号表
E    全程   浮点运算仿真
             默认:     E+    不出现8087数字协处理器时,运算允许用运行库仿真
             优化:     E-    必须有8087数字协处理器才能进行浮点运算
F    局部   强制远程调用
                         F+     对子程序总是远程调用
             默认和优化: F-     由PASCAL 自动选择对子程序的调用方式
I    局部   I/O出错检查
             默认:     I+     系统执行I/O出错检查
             优化:     I-      系统不执行I/0出错检查
L    全程   局部符号开关
             默认:L+   产生某一模块的局部符号信息,使IDE可检查和修改模块的局部变量。
             优化:L- 不产生某一模块的符号信息
N    全程   数字协处理器
             默认: N-     不使用数字协处理器,实型数运算以软件实现
             优化: N+   使用数字协处理器,以硬件实现各类实型运算  
O    全程   产生覆盖代码
             默认和优化: O- 不产生覆盖代码
             O+    控制产生覆盖代码,经常与高度远程调用编译指示{$F+}连用
P    全程   不定长字串参数
             默认:     P-     不使用不定长字符串参数
             优化:     P+   STRING类型的字符串实参不预先确定其最大长度,调用子程序时自动设计为与实际参数一致。                                                          
Q    全程   整数溢出检查
            默认和优化:  Q-   整数运算不检查溢出错误
                         Q+  检查溢出错误
R    局部   下标范围检查
                默认和优化: R-  不执行上述检查
               R+  对运算时所有数组和字符串的下标表达式检查其值是否越界,并对变量和子界的测试值检查是否在指定的范围内
S   局部    栈空间域检查
            默认: S+ 在每次子程序调用前检查是否有足够的调用空间
            优化: S-  不执行上述检查
T   局部    指针类型检查
           默认和优化: T-  @操作返回结果类型为无类型指针
                       T+  @操作返回结果为类型指针
PS。看到有好多人求助关于编译开关和编译指示的东西,我就传一份上来,因为没有电子版的东东,所以自己打的,排版上就不是太好了,不好意思。尽管给出了优化,但是,调试的时候尽量不要进行优化,比如D,L,S等,----优化不一定都是最好的,呵呵,下面我给出一个比较典型的程序头,希望高手不要见笑,其中有些我没写,是因为我觉得一般不用就没写上--手太累了
{$ A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q-,R-,S+,T-,V+,X+,Y+}
{$ M 65520,0,655360}


作者:vicmoto
来源:论坛精华
时间:2004-12-03

上一篇:NOIP2004提高组复赛试题
下一篇:NOIP复赛测评工作紧张有序进行

大榕树 版权所有 ©1999-2006