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. AngularJS API

    AngularJS 全局 API 用于执行常见任务的 JavaScript 函数集合 angular.lowercase() 转换字符串为小写 angular.uppercase() 转换字符串为大写 ...

  2. Oracle索引重建

    一.前言 Oracle建议对于索引深度超过4级以及已删除的索引条目至少占有现有索引条目总数的20% 这2种情形下需要重建索引.有人持不同观点,就是强烈建议不要定期重建索引.索引重建是一个争论不休被不断 ...

  3. Oracle学习笔记八 表空间

    表空间 表空间是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间 .   分区表 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下 ...

  4. ubuntu下修改键位

    尴尬的背景: 服役5年的笔记本,最近键盘失灵,部分键位彻底失去响应.最蛋疼的是左右方向键都不能用了 ○| ̄|_ 解决方案是,通过xmodmap命令,用其他相对鸡肋些的键位替代方向键. 1 查看各个键位 ...

  5. 微软本月将推Win10 望打破Win8所带来差评影响

    系统妈 据香港“文汇报”7月15日报道,美国电脑巨擘微软13日宣布,新视窗系统10(Windows 10)将于7月29日推出.微软高层迈赫迪在网志表示,届时全球将有13个城市举办特别活动,表扬参与Wi ...

  6. [数据分析]excel带名称的四象限散点图制作

    本文前言:方法来至Excel图表之道这本数,偶然看到,好久没出数据分析的文章了,也难怪最近几个月都忙作网页,数据分析自己也就用excell和sql 正文: 带象限的散点图效果如下: 看到图片,这里制作 ...

  7. C# 闭包问题-你被”坑“过吗?

    引言 闭包是什么?以前看面试题的时候才发现这个名词. 闭包在实际项目中会有什么问题?现在就让我们一起来看下这个不太熟悉的名词. 如果在实际工作中用到了匿名函数和lamada表达式,那你就应该高度注意啦 ...

  8. Checkstyle:整洁你的代码

    内容 Checkstyle简介 下载 Checkstyle的几种使用方式 1) 与Ant结合使用 2) 通过CLI使用 3)在IDE上使用插件 4)在Maven上使用插件 Checkstyle配置 配 ...

  9. Spring 01基础

    一.Spring作用:管理项目中各种业务Bean(service类.Dao类.Action类),实例化类,属性赋值 二.Spring IOC(Inversion of Control )控制反转,也被 ...

  10. xcode8权限以及相关设置

    我们需要打开info.plist文件添加相应权限的说明,否则程序在iOS10上会出现崩溃. 具体如下图: QQ20160914-0.png 注意,添加的时候,末尾不要有空格麦克风权限:Privacy ...