[Delphi] Delphi版本号对照

[Delphi] Delphi版本号对照

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 150VER210 Delphi 2010 / C++Builder 2010 (Win32) 14 140VER200 Delphi 2009 / C++Builder 2009 (Win32) 12 120VER190 Delphi 2007 for .Net * 11 110VER180 or VER185 Delphi 2007 / C++Builder 2007 for Win32 * 11 110VER180 Delphi 2006 / C++Builder 2006 (Win32/.Net) and Delphi/C++Builder 2007 for Win32 10 100VER170 Delphi 2005 (Win32/.Net) 9 90VER160 Delphi 8 for .Net 8 80VER150 Delphi 7 (and 7.1) 7 70VER140 Delphi 6 / C++Builder 6 6 60VER130 Delphi 5 / C++Builder 5 5 NAVER125 C++Builder 4 4 NAVER120 Delphi 4 4 NAVER110 C++Builder 3 3 NAVER100 Delphi 3 3 NAVER93 C++Builder 1 NA NA VER90 Delphi 2 2 NAVER80 Delphi 1 1 NAVER70 Borland Pascal 7.0 NA NAVER15 Turbo Pascal for Windows 1.5 NA NAVER10 Turbo Pascal for Windows 1.0 NA NAVER60 Turbo Pascal 6.0 NA NAVER55 Turbo Pascal 5.5 NA NAVER50 Turbo Pascal 5.0 NA NAVER40 Turbo Pascal 4.0 NA NAVER30 : Turbo Pascal 3VER20 : Turbo Pascal 2VER10 :Turbo Pascal 1编译时可以判断版本号:

{$IF CompilerVersion >= 18.5}

//some code only compiled for Delphi 2007 and later

{$IFEND}

Delphi 10.3 RIO - 33Delphi 10.2 Tokyo - 32Delphi 10.1 Berlin - 31Delphi XE3 - 24Delphi XE2 - 23Delphi XE - 22Delphi 2010 - 21Delphi 2009 - 20Delphi 2007 - 18.5Delphi 2006 - 18Delphi 2005 - 17Delphi 8 - 16Delphi 7 - 15Delphi 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 compilerversions, see CompilerVersions.

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 compileron another platform such as Linux that does not have a rigid stack alignmentrequirement. For more information, see Eli Boling's blog athttp://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 Delphimobile 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 addressmaps 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}

黄金推荐

米家双层玻璃杯
新日博365

米家双层玻璃杯

✨ 07-08 💎 价值: 6037
英朗重量是多少千克?
365bet官方亚洲版

英朗重量是多少千克?

✨ 07-16 💎 价值: 9644
苹果电脑真的那么耐用吗?我拿五年前的Mac试了试