📄 unadef.inc
字号:
(*
----------------------------------------------
unaDef.inc
compiler options and conditional defines
----------------------------------------------
This source code cannot be used without
proper license granted to you as a private
person or an entity by the Lake of Soft, Ltd
Visit http://lakeofsoft.com/ for more information.
Copyright (c) 2001, 2005 Lake of Soft, Ltd
All rights reserved
----------------------------------------------
created by:
Lake, Apr 2001
modified by:
Lake, Jan-Oct 2002
Lake, Jan-Jul 2003
Lake, Sep 2005
----------------------------------------------
*)
{xx $DEFINE DEBUG } // define if you want to debug the sources
{xx $DEFINE CONSOLE } // defined when you are compiling console application
{xx $DEFINE __SYSUTILS_H_ } // define if you are using SysUtils.pas (Forms.pas, VCL classes)
// defined automatically in VC 2.5 Pro version when compiling to GUI target,
// unless NO_SU_AUTODEFINE symbol is defined (see below)
{xx $DEFINE NO_SU_AUTODEFINE } // when defined disables auto-definition of __SYSUTILS_H_ symbol in Pro version with GUI target
{xx $DEFINE NO_ANSI_SUPPORT } // you can define this symbol if you do not need support for ANSI WinAPI
// NOTE: most likely your application will not run under Win9x/Me in this case
// -- VC 2.5 license type --
{$DEFINE VC25_PRO }
{xx $DEFINE VCX_DEMO } // Evaluation version
{$IFDEF CONSOLE }
//
{$ELSE}
{$IFDEF NO_SU_AUTODEFINE }
// do not define __SYSUTILS_H_
{$ELSE}
// link with SysUtils.pas
{$DEFINE __SYSUTILS_H_ }
{$ENDIF}
{$ENDIF}
{$IFDEF VER90 }
// Delphi 2.0
{$DEFINE __BEFORE_D3__ }
{$DEFINE __BEFORE_D4__ }
{$DEFINE __BEFORE_D5__ }
{$DEFINE __BEFORE_D6__ }
{$DEFINE __BEFORE_D7__ }
{$DEFINE __BEFORE_D8__ }
{$DEFINE __BEFORE_D9__ }
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$ELSE }
{$IFDEF VER100 }
// Delphi 3.0
{$DEFINE __BEFORE_D4__ }
{$DEFINE __BEFORE_D5__ }
{$DEFINE __BEFORE_D6__ }
{$DEFINE __BEFORE_D7__ }
{$DEFINE __BEFORE_D8__ }
{$DEFINE __BEFORE_D9__ }
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$ELSE }
{$IFDEF VER110 }
// CBuilder 3.0
{$DEFINE __BEFORE_D4__ }
{$DEFINE __BEFORE_D5__ }
{$DEFINE __BEFORE_D6__ }
{$DEFINE __BEFORE_D7__ }
{$DEFINE __BEFORE_D8__ }
{$DEFINE __BEFORE_D9__ }
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$ELSE }
{$IFDEF VER120 }
// Delphi 4.0
{$DEFINE __BEFORE_D5__ }
{$DEFINE __BEFORE_D6__ }
{$DEFINE __BEFORE_D7__ }
{$DEFINE __BEFORE_D8__ }
{$DEFINE __BEFORE_D9__ }
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$DEFINE __AFTER_D3__ }
{$ELSE }
{$IFDEF VER130 }
// Delphi 5.0 / C++ Builder 5.0
{$DEFINE __BEFORE_D6__ }
{$DEFINE __BEFORE_D7__ }
{$DEFINE __BEFORE_D8__ }
{$DEFINE __BEFORE_D9__ }
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$DEFINE __AFTER_D3__ }
{$DEFINE __AFTER_D4__ }
{$ELSE }
{$IFDEF VER140 }
// Delphi 6.0 / C++ Builder 6.0
{$DEFINE __BEFORE_D7__ }
{$DEFINE __BEFORE_D8__ }
{$DEFINE __BEFORE_D9__ }
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$DEFINE __AFTER_D3__ }
{$DEFINE __AFTER_D4__ }
{$DEFINE __AFTER_D5__ }
{$ELSE }
{$IFDEF VER150 }
// Delphi 7.0
{$DEFINE __BEFORE_D8__ }
{$DEFINE __BEFORE_D9__ }
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$DEFINE __AFTER_D3__ }
{$DEFINE __AFTER_D4__ }
{$DEFINE __AFTER_D5__ }
{$DEFINE __AFTER_D6__ }
{$ELSE }
{$IFDEF VER160 }
// Delphi 8.0
{$DEFINE __BEFORE_D9__ }
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$DEFINE __AFTER_D3__ }
{$DEFINE __AFTER_D4__ }
{$DEFINE __AFTER_D5__ }
{$DEFINE __AFTER_D6__ }
{$DEFINE __AFTER_D7__ }
{$ELSE }
{$IFDEF VER170 }
// Delphi 2005 (9.0)
{$DEFINE __BEFORE_DA__ }
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$DEFINE __AFTER_D3__ }
{$DEFINE __AFTER_D4__ }
{$DEFINE __AFTER_D5__ }
{$DEFINE __AFTER_D6__ }
{$DEFINE __AFTER_D7__ }
{$DEFINE __AFTER_D8__ }
{$ELSE }
{$IFDEF VER180 }
// Delphi 2006 (10.0)
{$DEFINE __BEFORE_DB__ }
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$DEFINE __AFTER_D3__ }
{$DEFINE __AFTER_D4__ }
{$DEFINE __AFTER_D5__ }
{$DEFINE __AFTER_D6__ }
{$DEFINE __AFTER_D7__ }
{$DEFINE __AFTER_D8__ }
{$DEFINE __AFTER_D9__ }
{$ELSE }
{$IFDEF VER190 }
// Delphi 2007 (11.0)
//
{$DEFINE __AFTER_D1__ }
{$DEFINE __AFTER_D2__ }
{$DEFINE __AFTER_D3__ }
{$DEFINE __AFTER_D4__ }
{$DEFINE __AFTER_D5__ }
{$DEFINE __AFTER_D6__ }
{$DEFINE __AFTER_D7__ }
{$DEFINE __AFTER_D8__ }
{$DEFINE __AFTER_D9__ }
{$DEFINE __AFTER_DA__ }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$ENDIF }
{$IFDEF CONDITIONALEXPRESSIONS }
{ D4 does not like that new directives }
//{$IF Defined(DEBUG) }
//{$ELSE}
//{$IFEND}
{$ENDIF}
{$IFDEF DEBUG }
// DEBUG options
{$IFDEF VER90} // Delphi 2.0
{$ELSE}
{$IFDEF FORCE_OPTIMIZATION }
// override optimization options
{$ASSERTIONS OFF}
{$ELSE}
//
{$ASSERTIONS ON} // $C+
// generation of assersion code (affects binary code)
{$ENDIF }
{$IFDEF VER100} // Delphi 3.0
{$ELSE}
{$IFDEF VER110} // CBuilder 3.0
{$ELSE}
{$DEFINITIONINFO ON } // $YD
// generation of symbol reference information
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$DEBUGINFO ON } // $D+
// generation of debug info
{$LOCALSYMBOLS ON } // $L+
// generation of local symbol information
{$REFERENCEINFO ON } // $Y+
// generation of symbol reference information
{$IFDEF FORCE_OPTIMIZATION }
// override optimization options
{$IOCHECKS OFF }
{$OPTIMIZATION ON }
{$OVERFLOWCHECKS OFF }
{$RANGECHECKS OFF }
{$STACKFRAMES OFF }
{$ELSE}
{$IOCHECKS ON } // $I+
// generation of checking I/O results code (affects binary code)
{$OPTIMIZATION OFF } // $O-
// turn off optimization (affects binary code)
{$OVERFLOWCHECKS ON } // $Q+
// generation of overflow checking code (affects binary code)
{$RANGECHECKS ON } // $R+
// generation of range-checking code (affects binary code)
{$STACKFRAMES ON } // $W+
// generation of stack frames for procedures and functions (affects binary code)
{$ENDIF }
{$ELSE }
// NO DEBUG options
{$IFDEF VER90} // Delphi 2.0
{$ELSE}
{$ASSERTIONS OFF} // $C-
// generation of assersion code (affects binary code)
{$IFDEF VER100} // Delphi 3.0
{$ELSE}
{$IFDEF VER110} // CBuilder 3.0
{$ELSE}
{$DEFINITIONINFO OFF } // $Y-
// allow generation of symbol reference information
// (affects binary code?)
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$DEBUGINFO OFF } // $D-
// do not allow debug info to be generated
{$IOCHECKS OFF } // $I-
// generation of checking I/O results code (affects binary code)
{$LOCALSYMBOLS OFF } // $L-
// generation of local symbol information
{$OPTIMIZATION OFF } // $O+
// turn on optimization (affects binary code)
{$OVERFLOWCHECKS OFF }// $Q-
// generation of overflow checking code (affects binary code)
{$RANGECHECKS OFF } // $R-
// generation of range-checking code (affects binary code)
{$STACKFRAMES OFF } // $W-
// generation of stack frames for procedures and functions (affects binary code)
{$REFERENCEINFO OFF } // $Y-
// generation of symbol reference information
{$ENDIF}
// COMMON options
// -- description --
{$IFDEF NO_UNA_DESCR }
//
{$ELSE}
//
{$IFDEF VC25_PRO }
{$DESCRIPTION 'VC25PAPR07'}
{$ENDIF}
{$IFDEF VCX_DEMO }
{$DESCRIPTION 'VC25EAPR07'}
{$ENDIF}
//
{$ENDIF}
// -- unknown --
{$E-}
{$F-}
{$K-}
{$N+}
{$S-}
// -- common --
{$IFDEF VER90} // Delphi 2.0
{$ELSE}
{$IMPORTEDDATA ON } // $G+
// turn on creation of imported data references
// NOTE: C++ Builder ?.0 crashes when installing packages compiled with $G-
{$IFDEF VER100} // Delphi 3.0
{$ELSE}
{$IFDEF VER110} // CBuilder 3.0
{$ELSE}
{$REALCOMPATIBILITY OFF } //
// Real type is equivalent to Double
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ALIGN ON } // $A+
// align records to 8/16 boundaries
{$BOOLEVAL OFF } // $B-
// turn off full boolean evaluation
// WARNING! turning is option on will introduce certain access violations
{$LONGSTRINGS ON } // $H+
// turn on long string support
{$WRITEABLECONST OFF } // $J-
// turn off writeable const
{$TYPEINFO OFF } // $M-
// turn off RTTI (when possible)
{$TYPEDADDRESS OFF } // $T-
// turn off typed pointers
{$SAFEDIVIDE OFF } // $U-
// turn off guards against the flawed FDIV instruction exhibited
// by certain early Pentium processors
{$EXTENDEDSYNTAX ON } // $X+
// turn on extended syntax
{$MINENUMSIZE 4 } // $Z+ or $Z4
// set enum element size to 4 bytes
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -