VER300    Delphi Seattle / C++Builder Seattle    23    230
    (Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)        
VER290    Delphi XE8 / C++Builder XE8    22    220
    (Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)        
VER280    Delphi XE7 / C++Builder XE7    21    210
    (Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android)        
VER270    Delphi XE6 / C++Builder XE6    20    200
    (Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android)        
VER260    Delphi XE5 / C++Builder XE5    19    190
    (Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS)        
VER250    Delphi XE4 / C++Builder XE4    18    180
    (Delphi:Win32/Win64/OSX/iOS) (C++Builder:Win32/Win64/OSX)        
VER240    Delphi XE3 / C++Builder XE3    17    170
    (Delphi:Win32/Win64/OSX) (C++Builder:Win32/Win64/OSX)        
VER230    Delphi XE2 / C++Builder XE2    16    160
    (Delphi:Win32/Win64/OSX) (C++Builder:Win32/OSX)        
            161 is the version for the five FireMonkey packages at XE2 Update 2:
            fmi161.bpl, fmx161.bpl, fmxase161.bpl, fmxdae161.bpl, and fmxobj161.bpl.
VER220    Delphi XE / C++Builder XE (Win32)    15    150
VER210    Delphi 2010 / C++Builder 2010 (Win32)    14    140
VER200    Delphi 2009 / C++Builder 2009 (Win32)    12    120
VER190    Delphi 2007 for .Net *    11    110
VER180 or VER185    Delphi 2007 / C++Builder 2007 for Win32 *    11    110
VER180    Delphi 2006 / C++Builder 2006 (Win32/.Net) and Delphi/C++Builder 2007 for Win32    10    100
VER170    Delphi 2005 (Win32/.Net)    9    90
VER160    Delphi 8 for .Net    8    80
VER150    Delphi 7 (and 7.1)    7    70
VER140    Delphi 6 / C++Builder 6    6    60
VER130    Delphi 5 / C++Builder 5    5    NA
VER125    C++Builder 4    4    NA
VER120    Delphi 4    4    NA
VER110    C++Builder 3    3    NA
VER100    Delphi 3    3    NA
VER93    C++Builder 1    NA    NA
VER90    Delphi 2    2    NA
VER80    Delphi 1    1    NA
VER70    Borland Pascal 7.0    NA    NA
VER15    Turbo Pascal for Windows 1.5    NA    NA
VER10    Turbo Pascal for Windows 1.0    NA    NA
VER60    Turbo Pascal 6.0    NA    NA
VER55    Turbo Pascal 5.5    NA    NA
VER50    Turbo Pascal 5.0    NA    NA
VER40    Turbo Pascal 4.0    NA    NA
VER30  : Turbo Pascal 3
VER20  : Turbo Pascal 2
VER10  :Turbo Pascal 1

编译时可以判断版本号:

{$IF CompilerVersion >= 18.5}
//some code only compiled for Delphi 2007 and later
{$IFEND}

Delphi 10.3 RIO  - 33
Delphi 10.2 Tokyo  - 32
Delphi 10.1 Berlin  - 31

Delphi XE3  - 24
Delphi XE2  - 23

Delphi XE   - 22
Delphi 2010 - 21
Delphi 2009 - 20
Delphi 2007 - 18.5
Delphi 2006 - 18
Delphi 2005 - 17
Delphi 8    - 16
Delphi 7    - 15
Delphi 6    - 14

判断当前 Delphi 的运行库版本:

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := FloatToStr(System.CompilerVersion);
end;

Compiler Directives

Delphi Compiler Directive
Associated Symbol
Align fields (Delphi) {$A},{$ALIGN}
Application type (Delphi) {$APPTYPE}
Assert directives (Delphi) {$C},{$ASSERTIONS}
Boolean short-circuit evaluation (Delphi compiler directive) {$B},{$BOOLEVAL}
Code align (Delphi) {$CODEALIGN}
Conditional compilation (Delphi) {$IFDEF}, {$IFNDEF}, {$IF}, {$ELSEIF}, {$ELSE}, {$ENDIF}, {$IFEND}
Debug information (Delphi) {$D},{$DEBUGINFO}
DEFINE directive (Delphi) {$DEFINE}
DENYPACKAGEUNIT directive (Delphi) {$DENYPACKAGEUNIT}
Description (Delphi) {$D},{$DESCRIPTION}
DESIGNONLY directive (Delphi) {$DESIGNONLY}
ELSE (Delphi) {$ELSE}
ELSEIF (Delphi) {$ELSEIF}
ENDIF directive (Delphi) {$ENDIF}
Executable extension (Delphi) {$E},{$EXTENSION}
Export symbols (Delphi) {$ObjExportAll}
Extended syntax (Delphi) {$X},{$EXTENDEDSYNTAX}
Extended type compatibility (Delphi) {$EXTENDEDCOMPATIBILITY}
External Symbols (Delphi) {$EXTERNALSYM [ 'typeNameInHpp' [ 'typeNameInHppUnion' ]]}
Floating point precision control (Delphi for x64) {$EXCESSPRECISION}
HIGHCHARUNICODE directive (Delphi) {$HIGHCHARUNICODE}
Hints (Delphi) {$HINTS}
HPP emit (Delphi) {$HPPEMIT}
IFDEF directive (Delphi) {$IFDEF}
IF directive (Delphi) {$IF}
IFEND directive (Delphi) {$IFEND}
IFNDEF directive (Delphi) {$IFNDEF}
IFOPT directive (Delphi) {$IFOPT}
Image base address {$IMAGEBASE}
Implicit Build (Delphi) {$IMPLICITBUILD}
Imported data {$G},{$IMPORTEDDATA}
Include file (Delphi) {$I},{$INCLUDE}
Input output checking (Delphi) {$I},{$IOCHECKS}
Compiler directives for libraries or shared objects (Delphi) {$LIBPREFIX}, {$LIBSUFFIX}, {$LIBVERSION}
Legacy IFEND (Delphi) {$LEGACYIFEND}
Link object file (Delphi) {$L file},{$LINK file}
Local symbol information (Delphi) {$L+},{$LOCALSYMBOLS}
Long strings (Delphi) {$H},{$LONGSTRINGS}
Memory allocation sizes (Delphi) {$M},{$MINSTACKSIZE},{$MAXSTACKSIZE}
MESSAGE directive (Delphi) {$MESSAGE }
METHODINFO directive (Delphi) {$METHODINFO}
Minimum enumeration size (Delphi) {$Z1},{$Z2},{$Z4},{$MINENUMSIZE 1},{$MINENUMSIZE 2},{$MINENUMSIZE 4}
NODEFINE directive (Delphi) {$NODEFINE [ 'typeNameInHpp' [ 'typeNameInHppUnion' ]]}
NOINCLUDE (Delphi) {$NOINCLUDE}
OBJTYPENAME directive (Delphi) {$OBJTYPENAME typeIdent ['{B|N}typeNameInObj']}
Old type layout (Delphi) {$OLDTYPELAYOUT ON}
Open String Parameters (Delphi) {$P},{$OPENSTRINGS}
Optimization (Delphi) {$O},{$OPTIMIZATION}
Overflow checking (Delphi) {$Q},{$OVERFLOWCHECKS}
PE (portable executable) header flags (Delphi) {$SetPEFlags},{$SetPEOptFlags}
PE header operating system version {$SETPEOSVERSION}
PE header subsystem version {$SETPESUBSYSVERSION}
PE header user version {$SETPEUSERVERSION}
Pentium-safe FDIV operations (Delphi) {$U},{$SAFEDIVIDE}
Pointer Math (Delphi) {$POINTERMATH}
Range checking {$R},{$RANGECHECKS}
Real48 compatibility (Delphi) {$REALCOMPATIBILITY}
Regions {$REGION},{$ENDREGION}
Reserved address space for resources (Delphi, Linux) {$M},{$RESOURCERESERVE}
Resource file (Delphi) {$R},{$RESOURCE}
RTTI directive (Delphi) {$RTTI INHERIT|EXPLICIT}
RUNONLY directive (Delphi) {$RUNONLY}
Run-Time Type Information (Delphi) {$M},{$TYPEINFO}
Scoped Enums (Delphi) {$SCOPEDENUMS}
Stack frames (Delphi) {$W},{$STACKFRAMES}
Strong link types (Delphi) {$STRONGLINKTYPES}
Symbol declaration and cross-reference information (Delphi) {$Y},{$REFERENCEINFO},{DEFINITIONINFO}
Type-checked pointers (Delphi) {$T},{$TYPEDADDRESS}
UNDEF directive (Delphi) {$UNDEF}
Var-string checking (Delphi) {$V},{$VARSTRINGCHECKS}
Warning messages (Delphi) {$WARN}
Warnings (Delphi) {$WARNINGS}
Weak packaging {$WEAKPACKAGEUNIT}
WEAKLINKRTTI directive (Delphi) {$WEAKLINKRTTI}
Writeable typed constants (Delphi) {$J},{$WRITEABLECONST}
Zero-based strings (Delphi) {$ZEROBASEDSTRINGS}

Predefined Conditionals

Category
Symbol DCC32 DCC64 DCCOSX DCCIOSARM DCCIOS32 DCCAARM DCCIOSARM64 Comments
  Since XE2     Since XE2     Since XE3     Since XE3   In XE5 Since XE8
Compiler DCC DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED  
VER310 DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED For Delphi XE8, compiler version 29.0 has VER310 defined.
 
For a list of compiler
versions, see Compiler
Versions.
Platform CONSOLE DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED Defined
if an application is being compiled as a console application.
IOS not
defined
not
defined
not
defined
DEFINED DEFINED N/A DEFINED Defined
if the target platform is iOS.
*New* in XE4/iOS
NATIVECODE DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED Since
Delphi.Net
MSWINDOWS DEFINED DEFINED not
defined
not
defined
not
defined
not
defined
not
defined
Indicates
that the operating environment is Windows. Use MSWINDOWS
to test for any flavor of the Windows platform instead of WIN32.
WIN32 DEFINED not
defined
not
defined
not
defined
not
defined
not
defined
not
defined
Target
platform is the native 32-bit Windows platform.
WIN64 not
defined
DEFINED not
defined
not
defined
not
defined
not
defined
not
defined
Target
platform is 64-bit Windows.
*New* in XE2/x64
MACOS not
defined
not
defined
DEFINED DEFINED DEFINED not
defined
not
defined
Target
platform is Mac OS X.
*New* in XE2/OSX
MACOS32 not
defined
not
defined
DEFINED DEFINED DEFINED not
defined
not
defined
Target
platform is 32-bit Mac OS X.
*New* in XE2/OSX
LINUX not
defined
not
defined
not
defined
not
defined
not
defined
not
defined
not
defined
Since
Kylix
LINUX32 not
defined
not
defined
not
defined
not
defined
not
defined
not
defined
not
defined
Since
Kylix
POSIX not
defined
not
defined
DEFINED DEFINED DEFINED DEFINED DEFINED Since
Kylix
POSIX32 not
defined
not
defined
DEFINED DEFINED DEFINED DEFINED DEFINED Since
Kylix
ANDROID not
defined
not
defined
not
defined
not
defined
not
defined
DEFINED not
defined
Defined
if the target platform is Android.
*New in XE5
CPU CPUARM not
defined
not
defined
not
defined
DEFINED not
defined
DEFINED DEFINED Defined
if the CPU is based on the ARM architecture, such as the Delphi
mobile compiler for the iOS device (DCCIOSARM.EXE).
*New* in XE4/iOS
CPU386 DEFINED not
defined
DEFINED not
defined
DEFINED not
defined
not
defined
Indicates
that the CPU is an Intel 386 or later.
CPUX86 DEFINED not
defined
DEFINED not
defined
DEFINED not
defined
not
defined
CPU
is an Intel 386 or later on any platform.
*New* in XE2/x64
CPUX64 not
defined
DEFINED not
defined
not
defined
not
defined
not
defined
not
defined
The
CPU supports the x86-64 instruction set, and is in a 64-bit environment.
*New* in XE2/x64
CPU32BITS DEFINED not
defined
DEFINED DEFINED DEFINED DEFINED not
defined
The
CPU is in a 32-bit environment, such as DCC32.EXE.
*New* in XE8
CPU64BITS not
defined
DEFINED not
defined
not
defined
not
defined
not
defined
DEFINED The
CPU is in a 64-bit environment, such as DCC64.EXE.
*New* in XE8
CPUARM32 not
defined
not
defined
not
defined
DEFINED not
defined
DEFINED not
defined
The
CPU is in a 32-bit ARM environment, such as DCCIOSARM.EXE.
*New* in XE8
CPUARM64 not
defined
not
defined
not
defined
not
defined
not
defined
not
defined
DEFINED The
CPU is in a 64-bit ARM environment, such as DCCIOSARM64.EXE.
*New* in XE8
Availability                  
ALIGN_STACK not
defined
not
defined
DEFINED not
defined
DEFINED not
defined
not
defined
Defined
in code that may be shared with the OS X compiler and another compiler
on another platform such as Linux that does not have a rigid stack
alignment
requirement. For more information, see Eli Boling's blog at
http://blogs.embarcadero.com/eboling/2009/05/20/5607 .
*New* in XE2/OSX
ASSEMBLER DEFINED DEFINED DEFINED not
defined
DEFINED not
defined
not
defined
Assembler
syntax is accepted.
AUTOREFCOUNT not
defined
not
defined
not
defined
DEFINED DEFINED DEFINED DEFINED Defined
for compilers that use automatic reference counting, such as the Delphi
mobile compilers.
*New* in XE4/iOS
EXTERNALLINKER not
defined
not
defined
not
defined
DEFINED not
defined
DEFINED DEFINED Defined
for compilers that have an external linker and the LLVM code generator; the

Delphi mobile compilers have the external ld linker and use LLVM as code
generator.
*New* in XE4/iOS
UNICODE DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED UNICODE
is defined as the default string type.
CONDITIONALEXPRESSIONS DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED DEFINED Tests for the use of
the $IF directive.
ELF not
defined
not
defined
not
defined
not
defined
not
defined
not
defined
not
defined
Defined
when targeting Executable and Linkable Format (ELF) files.
NEXTGEN not
defined
not
defined
not
defined
DEFINED DEFINED DEFINED DEFINED Defined
for compilers (such as the Delphi mobile compilers) that use
"next-generation" language features, such as 0-based strings.
*New* in XE4/iOS
PC_MAPPED_EXCEPTIONS not
defined
not
defined
DEFINED not
defined
DEFINED not
defined
not
defined
Defined
when compiling on a platform or for a target platform that uses address
maps instead of stack frames to unwind exceptions (such as OS X).
*New* in XE2.
PIC never never DEFINED
if -P is specified
never DEFINED
if
-P is specified
always
defined
never Defined
for platforms that require Position-Independent Code (PIC), such as OS X.
UNDERSCOREIMPORTNAME DEFINED not
defined
DEFINED not
defined
DEFINED not
defined
not
defined
Defined
for compilers that add a leading underscore (for example, in names of
dynamic libraries imported from Mac OS).
*New* in XE4/iOS
WEAKREF not
defined
not
defined
not
defined
DEFINED DEFINED DEFINED DEFINED Defined
for compilers that can use weak references (the [weak] attribute).
*New* in XE4/iOS
WEAKINSTREF not
defined
not
defined
not
defined
DEFINED DEFINED DEFINED DEFINED Defined
when weak references are defined for instances.
*New* in XE4/iOS
WEAKINTFREF not
defined
not
defined
not
defined
DEFINED DEFINED DEFINED DEFINED Defined
when weak references are defined for interfaces.
*New* in XE4/iOS

                 

In the table column heads:

  • DCC32 is the 32-bit Windows Delphi compiler.
  • DCC64 is the 64-bit Windows Delphi compiler.
  • DCCOSX is the Mac OS X Delphi compiler.
  • DCCIOSARM is the Delphi compiler for 32-bit iOS Devices.
  • DCCIOS32 is the Delphi compiler for iOS Simulators.
  • DCCAARM.EXE is the Delphi compiler for Android devices.
  • DCCIOSARM64 is the Delphi compiler for 64-bit iOS devices.
 {$IFDEF CONDITIONALEXPRESSIONS}
{$IF CompilerVersion >= 17.0}
{$DEFINE HAS_INLINE}
{$IFEND}
{$IF RTLVersion >= 14.0}
{$DEFINE HAS_ERROUTPUT}
{$IFEND}
{$ENDIF}

[Delphi] Delphi版本号对照的更多相关文章

  1. Delphi版本号对照(转)

    Delphi版本号对照 VER10  :Turbo Pascal 1VER20  : Turbo Pascal 2VER30  : Turbo Pascal 3VER40  : Turbo Pasca ...

  2. 最新的Delphi版本号对照

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

  3. Delphi工程版本号修改工具

    自动修改某目录下符合条件的Delphi工程(dproj)版本号, 支持命令行调用支持通配符忽略文件 -p [Path] 在[Path]路径下查询所有dproj文件(可以为空, 默认路径为程序当前路径) ...

  4. [Delphi]Delphi开发的一些技巧

    一.提高查询效率先进行准备查询操作: CustomerQuery.Close; if not (CustomerQuery.Prepared) then -->查询是否已准备好 Customer ...

  5. delphi 各版本的特性

    delphi 各新版本特性收集 Delphi XE6新增了一些特性并增强了原有的功能,主要有以下几个方面:   IDE(整合开发环境)   Internet XML(扩展标记语言) Compiler( ...

  6. delphi 下载

    获取网络文件大小 //delphi 获取网络文件大小 function GetUrlFileSize(aURL: string): integer; var FileSize: integer; va ...

  7. delphi Sqlite

    Delphi中SQLite如何读写二进制字段(Blob类型) 在Delphi中,有大量的组件可以操作SQLite数据库,如UniDAC就是其中一个比较优秀的,当然还有ASQLite3Component ...

  8. Delphi经验总结(1)

    先人的DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername ...

  9. zw版【转发·台湾nvp系列例程】HALCON EquHistoImage(Delphi)

    zw版[转发·台湾nvp系列例程]HALCON EquHistoImage(Delphi) zw版[转发·台湾nvp系列例程]HALCON EquHistoImage(Delphi) (Delphi ...

随机推荐

  1. AC日记——楼房 codevs 2995

    2995 楼房  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 地平线(x轴)上有n个矩(lou ...

  2. [No00008D]腾讯通RTX联系方式批量获取

    公司用的RTX让我一直很不爽,QQ比RTX好多少为啥不让用,微信都有企业版了为啥还用腾讯通?终于今天发现唯一的好处是可以从服务器上拉公司妹子们的联系方式!!当然,我要这些联系方式,只是为了联tiao系 ...

  3. 图片下方出现多3px的原因及解决方法

    产生原因:主要是因为图片的垂直对齐方式vertical-align引发的,默认值是baseline,默认为此值时图片下方就会多出3px. 解决方案: 1.将图片的垂直对齐方式vertical-alig ...

  4. windows系统下fis3安装教程

    注意:在安装fis3前必须安装node和npm,详情请见官网http://nodejs.org node版本要求 0.8.x,0.10.x, 0.12.x,4.x,6.x,不在此列表中的版本不予支持. ...

  5. Linux系统下输出某进程内存占用信息的c程序实现

    在实际工作中有时需要程序打印出某个进程的内存占用情况以作参考, 下面介绍一种通过Linux下的伪文件系统/proc 计算某进程内存占用的程序实现方法. 首先, 为什么会有所谓的 伪文件 呢. Linu ...

  6. [LeetCode] Trapping Rain Water II 收集雨水之二

    Given an m x n matrix of positive integers representing the height of each unit cell in a 2D elevati ...

  7. [LeetCode] Happy Number 快乐数

    Write an algorithm to determine if a number is "happy". A happy number is a number defined ...

  8. Gulp 入门

    1. 安装 Node 环境 参考 http://www.cnblogs.com/zichi/p/4627728.html,注意一起安装 npm 工具,并把路径保存到环境变量中(安装过程中会有提醒) 安 ...

  9. 基于modelsim-SE的简单仿真流程—上

    基于modelsim-SE的简单仿真流程 编写RTL功能代码 要进行功能仿真,首先得用需要仿真的模块,也就是RTL功能代码,简称待测试的模块,该模块也就是在设计下载到FPGA的电路.一个电路模块想要有 ...

  10. iOS开发--JS调用原生OC篇

    JS调用原生OC篇 方式一(反正我不用) 第一种方式是用JS发起一个假的URL请求,然后利用UIWebView的代理方法拦截这次请求,然后再做相应的处理. 我写了一个简单的HTML网页和一个btn点击 ...