加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi编译器指令列表,我们是否必须在单元名称之前放置指令?

发布时间:2020-12-15 09:40:09 所属栏目:大数据 来源:网络整理
导读:我正在使用delphi 7处理应用程序,我刚刚遇到了这个问题 {$A+,B-,C+,D+,E-,F-,G+,H+,I+,J+,K-,L+,M-,N+,O-,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1} {$MINSTACKSIZE $00004000} {$MAXSTACKSIZE $00100000} {$IMAGEBASE $00400000} {$APPTYPE GUI} unit fmMain; //
我正在使用delphi 7处理应用程序,我刚刚遇到了这个问题

{$A+,B-,C+,D+,E-,F-,G+,H+,I+,J+,K-,L+,M-,N+,O-,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1}
   {$MINSTACKSIZE $00004000}
   {$MAXSTACKSIZE $00100000}
   {$IMAGEBASE $00400000}
   {$APPTYPE GUI}

   unit fmMain; // this is the main form of the project

   interface

   uses
     //..all the code is here
   end.

我知道有这些Compiler Directive和Delphi Compiler Directives list

代码的作者在主单元名称之前放置了如此多的编译器指令.

任何人都可以告诉我

>如果在单位名称之前使用指令,这是否会使它们成为全球性的?
>我们可以在某些特定情况下创建自己的指令吗?
>编译器指令在哪里定义?

解决方法

>解释原则的关键主题是: Delphi compiler directives.
>此处列出了编译器指令: Delphi Compiler Directives (List).

至于指令是否对整个项目有效,整个单元,单个函数和具有函数的区域,从指令到指令各不相同.您必须阅读每个指令的文档以了解其范围.

你问他们是否需要将它们放在装置的开头.您需要考虑该指令的范围.关于开关指令,documentation的另一部分有这个说法:

Switch directives are either global or local:

  • Global directives affect the entire compilation and must appear before the declaration part of the program or the unit being compiled.
  • Local directives affect only the part of the compilation that extends from the directive until the next occurrence of the same directive. They can appear anywhere.

但是,请考虑DENYPACKAGEUNIT指令(强调我的):

The {$DENYPACKAGEUNIT ON} directive prevents the Delphi unit in which it appears from being placed in a package.

如果该指令具有单位范围的范围,那么它仅需要存在于单元中才能生效.

因此,指令的位置可能很重要.最重要的是,对于每个指令,您需要知道其范围,为此,您必须查阅该指令的文档.

请注意,如果要更改项目设置中的设置,则只需在代码中设置指令.在项目选项中设置选项并且不在代码中设置它们是完全合理的.

您提供的代码中似乎发生的是作者键入了CTRL O O,并且IDE在该时刻插入了项目选项中定义的各种设置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读