zoukankan      html  css  js  c++  java
  • The CompilerVersion constant identifies the internal version number of the Delphi compiler.

    http://delphi.wikia.com/wiki/CompilerVersion_Constant

    The CompilerVersion constant identifies the internal version number of the Delphi compiler.

    It is defined in the System unit and may be referenced either in code just as any other constant:

    if CompilerVersion = 20 then

      sCompilerName := 'Delphi 2009';

    or in conditional compiler expressions:

    {$if CompilerVersion > 18}

      // Delphi 2007 or later

    {$ifend}

    The CompilerVersion constant was introduced in Delphi 6 along with conditional expressions.

    In earlier Delphi versions various compiler defined VERxxx symbols are used to determine compiler versions.

    CompilerVersion values and the equivalent compiler defined symbols for the Delphi versions in which the CompilerVersion constant is defined are:

    Compiler
    CompilerVersion

    Defined Symbol

    Delphi XE5
    26
    VER260

    Delphi XE4
    25
    VER250

    Delphi XE3
    24
    VER240

    Delphi XE2
    23
    VER230

    Delphi XE
    22
    VER220

    Delphi 2010
    21
    VER210

    Delphi 2009
    20
    VER200

    Delphi 2007 .NET
    19
    VER190

    Delphi 2007
    18.5
    VER185

    Delphi 2006
    18
    VER180

    Delphi 2005
    17
    VER170

    Delphi 8 .NET
    16
    VER160

    Delphi 7
    15
    VER150

    Delphi 6
    14
    VER140

    Delphi 5
    13
    VER130

    Delphi 4
    12
    VER120

    Delphi 3
    10
    VER100

    Delphi 2
    9
    VER90

    Delphi 1
    8
    VER80

    http://delphi.wikia.com/wiki/Borland_Compiler_Conditional_Defines

    Product Name
    Version

    Conditional Define

    CompilerVersion

    Embarcadero RAD Studio XE5
    19.0
    VER260
    26

    Embarcadero RAD Studio XE4
    18.0
    VER250
    25

    Embarcadero RAD Studio XE3
    17.0
    VER240
    24

    Embarcadero RAD Studio XE2
    16.0
    VER230
    23

    Embarcadero RAD Studio XE
    15.0
    VER220
    22

    Embarcadero RAD Studio 2010
    14.0
    VER210
    21

    CodeGear C++ Builder 2009
    12.0
    VER200
    20

    CodeGear Delphi 2007 for .NET
    11.0
    VER190
    19?

    CodeGear Delphi 2007 for Win32
    11.0
    VER180 and VER185
    18, 18.5

    Borland Developer Studio 2006
    10.0
    VER180
    18

    Borland Delphi 2005
    9.0
    VER170
    17

    Borland Delphi 8 for .NET
    8.0
    VER160 *
    16

    C++BuilderX
    ?
    ?

    Borland C#Builder
    1.0
    VER160 *

    Borland Delphi 7
    7.0
    VER150
    15

    Borland Kylix 3
    3.0
    VER140 **

    Borland C++Builder 6
    ?
    VER140 **(!!)

    Borland Kylix 2
    2.0
    VER140 **

    Borland Delphi 6
    6.0
    VER140 **
    14

    Borland Kylix
    1.0
    VER140 **

    Borland C++Builder 5
    ?
    VER130 ***

    Borland Delphi 5
    5.0
    VER130 ***

    Borland C++Builder 4
    ?
    VER125

    Borland Delphi 4
    4.0
    VER120

    Borland C++Builder 3
    ?
    VER110 ****

    Borland Delphi 3
    3.0
    VER100

    Borland C++ 5
    ?
    ?

    Borland C++Builder 1
    ?
    VER93

    Borland Delphi 2
    2.0
    VER90

    Borland C++ 4.5
    ?
    ?

    Borland Delphi
    1.0
    VER80

    Borland C++ 4
    ?
    ?

    Borland Pascal 7
    7.0
    VER70

    Borland C++ 3.1
    ?
    ?

    Turbo Pascal for Windows 1.5
    1.5
    VER70

    Turbo C++ for DOS 3
    ?
    ?

    Borland C++ 3
    ?
    ?

    Turbo C++ for Windows 3 (Win16)
    ?
    ?

    Turbo Pascal for Windows 1.0
    1.0
    ???

    Borland C++ 2
    ?
    ?

    Turbo Pascal 6
    6.0
    VER60

    Turbo C++ for DOS
    ?
    ?

    Turbo C for DOS 2
    ?
    ?

    Turbo Pascal 5.5
    5.5
    VER55

    Turbo C for DOS 1.5
    ?
    ?

    Turbo Pascal 5
    5.0
    VER50

    Turbo Pascal 4
    4.0
    VER40

    Turbo C for DOS
    ?
    ?

    Turbo Pascal 3
    3.0
    ???

    Turbo Pascal 2
    2.0
    ???

    Turbo Pascal 1
    1.0
    ???

    * This conditional define is shared by the Delphi compilers used to build C#Builder 1 and Delphi 8, which do not natively support Delphi for Win32.

    This define is used in the "IDE Integration Packs" that were released to Borland partners in order to allow IDE plugins like ModelMaker Code Explorer

    (http://www.modelmakertools.com/code-explorer/index.html) and

    Castalia (http://www.delphi-expert.com/castalia3) to be compiled.

    ** This conditional define is shared between C++Builder 6, Delphi 6, Kylix 1, 2, and 3

    (Checking for the conditional define "LINUX" helps to determine whether the compiler is Kylix or Delphi and "BCB" can be used to determine if C++Builder is being used).

    *** This conditional define is shared with C++Builder 5

    **** C++Builder 3.0 used VER110 (it had its own version of the Delphi compiler included).

    **** CompilerVersion (Delphi 6 or later) can be used with conditional directives like

    {$IF CompilerVersion >= 20}  {$DEFINE CanUnicode}  {$IFEND}

    or using code:

    if System.CompilerVersion >= 22 then  <do something>;
  • 相关阅读:
    Redis缓存穿透
    如何应对缓存穿透和缓存雪崩问题
    Redis缓存雪崩
    redis缓存机制
    C# LINQ学习笔记三:LINQ to OBJECT之操作字符串
    C# LINQ学习笔记二:LINQ标准查询操作概述
    C# LINQ学习笔记一:走进LINQ的世界
    C# Lambda表达式学习笔记
    C#委托与事件学习笔记
    C#泛型学习笔记
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/5034900.html
Copyright © 2011-2022 走看看