Pre*_*ias 4 delphi compiler-construction delphi-7
我正在使用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.
Run Code Online (Sandbox Code Playgroud)
我知道有这些Compiler Directive和Delphi Compiler Directives列表
代码的作者在主单元名称之前放置了如此多的编译器指令.
任何人都可以告诉我
至于指令是否对整个项目有影响,整个单元,单个函数和具有函数的区域,从指令到指令各不相同.您必须阅读每个指令的文档以了解其范围.
你问他们是否需要将它们放在装置的开头.您需要考虑该指令的范围.关于开关指令,文档的另一部分有这样的说法:
Switch指令是全局的或本地的:
- 全局指令会影响整个编译,并且必须出现在程序的声明部分或正在编译的单元之前.
- 本地指令仅影响从指令扩展到下一次出现相同指令的编译部分.它们可以出现在任
但是,请考虑该DENYPACKAGEUNIT指令(强调我的):
该
{$DENYPACKAGEUNIT ON}指令防止将其出现的Delphi 单元放入包中.
如果该指令具有单位范围的范围,那么它仅需要存在于单元中才能生效.
因此,指令的位置可能很重要.最重要的是,对于每个指令,您需要知道其范围,为此,您必须查阅该指令的文档.
请注意,如果要更改项目设置中的设置,则只需在代码中设置指令.在项目选项中设置选项并且不在代码中设置它们是完全合理的.
您提供的代码中似乎发生的是作者键入CTRL+O O并且IDE在该时刻插入了项目选项中定义的各种设置.