大榕树——让我们共成长!
大榕树 myDrs.org
您的位置:大榕树 \ 编程       |  Logo语言   |  Pascal语言   |  信息学奥赛   |  高考保送    |  HTML版本
|  Pascal语言>>算法与技巧>>常见编译参数和编译指示及优化         本站全文搜索: 友情提示:

常见编译参数和编译指示及优化
http://www.mydrs.org  12/3/2004  大榕树


参数编译指示:
符号 缺省值或格式        类型  功能
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
来 源:论坛精华
共有6295位读者阅读过此文

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

  • 发送邮件
    保存页面 打印文章 HTML版本 发表评论

    □- 近期热门文章 □- 相关文章
    1. NOIP2006竞赛大纲 [8307]
    2. 七类高中生具有保送资格 [5911]
    3. NOI2006获奖选手名单 [4956]
    4. 关于举办NOIP2006模拟赛的通告 [4107]
    5. Turbo Pascal各语句运行速... [3595]
    6. Turbo王者归来新Delphi免费... [3182]
    7. IOI2006我国4名选手全部获得金... [2946]
    8. 关于APIO2007与IOI2007... [2764]
    9. noip倒计时 by 枯叶蝴蝶 [2684]
    10. 朱泽园:思想上的金牌更重要 [2169]
    常见编译参数和编译指示及优化
    关于fillchar的使用和讨论
    Turbo Pascal 7 安装版
    编译开关的使用介绍
    Pascal运行错误对照表
    Pascal编译错误对照表
    条件编译指示表
    常用参数编译指示表
    [推荐]TP7crt单元补丁
    Turbo Pascal 7.0
     

    关于本站 | 合作伙伴 | 联系方式
    大榕树 版权所有 ©1999-2006 www.myDrs.org 闽ICP备05000721号