才下心头 發表於 2021-1-7 12:58:00

[Delphi] Delphi版本号对照

<p>VER300&nbsp;&nbsp; &nbsp;Delphi Seattle / C++Builder Seattle&nbsp;&nbsp; &nbsp;23&nbsp;&nbsp; &nbsp;230<br>&nbsp;&nbsp; &nbsp;(Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>VER290&nbsp;&nbsp; &nbsp;Delphi XE8 / C++Builder XE8&nbsp;&nbsp; &nbsp;22&nbsp;&nbsp; &nbsp;220<br>&nbsp;&nbsp; &nbsp;(Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>VER280&nbsp;&nbsp; &nbsp;Delphi XE7 / C++Builder XE7&nbsp;&nbsp; &nbsp;21&nbsp;&nbsp; &nbsp;210<br>&nbsp;&nbsp; &nbsp;(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>VER270&nbsp;&nbsp; &nbsp;Delphi XE6 / C++Builder XE6&nbsp;&nbsp; &nbsp;20&nbsp;&nbsp; &nbsp;200<br>&nbsp;&nbsp; &nbsp;(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>VER260&nbsp;&nbsp; &nbsp;Delphi XE5 / C++Builder XE5&nbsp;&nbsp; &nbsp;19&nbsp;&nbsp; &nbsp;190<br>&nbsp;&nbsp; &nbsp;(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>VER250&nbsp;&nbsp; &nbsp;Delphi XE4 / C++Builder XE4&nbsp;&nbsp; &nbsp;18&nbsp;&nbsp; &nbsp;180<br>&nbsp;&nbsp; &nbsp;(Delphi:Win32/Win64/OSX/iOS) (C++Builder:Win32/Win64/OSX)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>VER240&nbsp;&nbsp; &nbsp;Delphi XE3 / C++Builder XE3&nbsp;&nbsp; &nbsp;17&nbsp;&nbsp; &nbsp;170<br>&nbsp;&nbsp; &nbsp;(Delphi:Win32/Win64/OSX) (C++Builder:Win32/Win64/OSX)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>VER230&nbsp;&nbsp; &nbsp;Delphi XE2 / C++Builder XE2&nbsp;&nbsp; &nbsp;16&nbsp;&nbsp; &nbsp;160<br>&nbsp;&nbsp; &nbsp;(Delphi:Win32/Win64/OSX) (C++Builder:Win32/OSX)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;161 is the version for the five FireMonkey packages at XE2 Update 2:<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;fmi161.bpl, fmx161.bpl, fmxase161.bpl, fmxdae161.bpl, and fmxobj161.bpl.<br>VER220&nbsp;&nbsp; &nbsp;Delphi XE / C++Builder XE (Win32)&nbsp;&nbsp; &nbsp;15&nbsp;&nbsp; &nbsp;150<br>VER210&nbsp;&nbsp; &nbsp;Delphi 2010 / C++Builder 2010 (Win32)&nbsp;&nbsp; &nbsp;14&nbsp;&nbsp; &nbsp;140<br>VER200&nbsp;&nbsp; &nbsp;Delphi 2009 / C++Builder 2009 (Win32)&nbsp;&nbsp; &nbsp;12&nbsp;&nbsp; &nbsp;120<br>VER190&nbsp;&nbsp; &nbsp;Delphi 2007 for .Net *&nbsp;&nbsp; &nbsp;11&nbsp;&nbsp; &nbsp;110<br>VER180 or VER185&nbsp;&nbsp; &nbsp;Delphi 2007 / C++Builder 2007 for Win32 *&nbsp;&nbsp; &nbsp;11&nbsp;&nbsp; &nbsp;110<br>VER180&nbsp;&nbsp; &nbsp;Delphi 2006 / C++Builder 2006 (Win32/.Net) and Delphi/C++Builder 2007 for Win32&nbsp;&nbsp; &nbsp;10&nbsp;&nbsp; &nbsp;100<br>VER170&nbsp;&nbsp; &nbsp;Delphi 2005 (Win32/.Net)&nbsp;&nbsp; &nbsp;9&nbsp;&nbsp; &nbsp;90<br>VER160&nbsp;&nbsp; &nbsp;Delphi 8 for .Net&nbsp;&nbsp; &nbsp;8&nbsp;&nbsp; &nbsp;80<br>VER150&nbsp;&nbsp; &nbsp;Delphi 7 (and 7.1)&nbsp;&nbsp; &nbsp;7&nbsp;&nbsp; &nbsp;70<br>VER140&nbsp;&nbsp; &nbsp;Delphi 6 / C++Builder 6&nbsp;&nbsp; &nbsp;6&nbsp;&nbsp; &nbsp;60<br>VER130&nbsp;&nbsp; &nbsp;Delphi 5 / C++Builder 5&nbsp;&nbsp; &nbsp;5&nbsp;&nbsp; &nbsp;NA<br>VER125&nbsp;&nbsp; &nbsp;C++Builder 4&nbsp;&nbsp; &nbsp;4&nbsp;&nbsp; &nbsp;NA<br>VER120&nbsp;&nbsp; &nbsp;Delphi 4&nbsp;&nbsp; &nbsp;4&nbsp;&nbsp; &nbsp;NA<br>VER110&nbsp;&nbsp; &nbsp;C++Builder 3&nbsp;&nbsp; &nbsp;3&nbsp;&nbsp; &nbsp;NA<br>VER100&nbsp;&nbsp; &nbsp;Delphi 3&nbsp;&nbsp; &nbsp;3&nbsp;&nbsp; &nbsp;NA<br>VER93&nbsp;&nbsp; &nbsp;C++Builder 1&nbsp;&nbsp; &nbsp;NA&nbsp;&nbsp; &nbsp;NA&nbsp;<br>VER90&nbsp;&nbsp; &nbsp;Delphi 2&nbsp;&nbsp; &nbsp;2&nbsp;&nbsp; &nbsp;NA<br>VER80&nbsp;&nbsp; &nbsp;Delphi 1&nbsp;&nbsp; &nbsp;1&nbsp;&nbsp; &nbsp;NA<br>VER70&nbsp;&nbsp; &nbsp;Borland Pascal 7.0&nbsp;&nbsp; &nbsp;NA&nbsp;&nbsp; &nbsp;NA<br>VER15&nbsp;&nbsp; &nbsp;Turbo Pascal for Windows 1.5&nbsp;&nbsp; &nbsp;NA&nbsp;&nbsp; &nbsp;NA<br>VER10&nbsp;&nbsp; &nbsp;Turbo Pascal for Windows 1.0&nbsp;&nbsp; &nbsp;NA&nbsp;&nbsp; &nbsp;NA<br>VER60&nbsp;&nbsp; &nbsp;Turbo Pascal 6.0&nbsp;&nbsp; &nbsp;NA&nbsp;&nbsp; &nbsp;NA<br>VER55&nbsp;&nbsp; &nbsp;Turbo Pascal 5.5&nbsp;&nbsp; &nbsp;NA&nbsp;&nbsp; &nbsp;NA<br>VER50&nbsp;&nbsp; &nbsp;Turbo Pascal 5.0&nbsp;&nbsp; &nbsp;NA&nbsp;&nbsp; &nbsp;NA<br>VER40&nbsp;&nbsp; &nbsp;Turbo Pascal 4.0&nbsp;&nbsp; &nbsp;NA&nbsp;&nbsp; &nbsp;NA<br>VER30&nbsp;&nbsp;: Turbo Pascal 3<br>VER20&nbsp;&nbsp;: Turbo Pascal 2<br>VER10&nbsp;&nbsp;:Turbo Pascal 1<br><br><strong>编译时可以判断版本号:</strong></p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre>{$IF CompilerVersion &gt;= 18.5}
//some code only compiled for Delphi 2007 and later
{$IFEND}</pre>
</div>
<p>&nbsp;</p>
<p>Delphi 10.3 RIO&nbsp; - 33<br>Delphi 10.2 Tokyo&nbsp; - 32<br>Delphi 10.1 Berlin&nbsp; - 31<br><br>Delphi XE3&nbsp; - 24<br>Delphi XE2&nbsp; - 23<br><br>Delphi XE&nbsp;&nbsp; - 22<br>Delphi 2010 - 21<br>Delphi 2009 - 20<br>Delphi 2007 - 18.5<br>Delphi 2006 - 18<br>Delphi 2005 - 17<br>Delphi 8&nbsp;&nbsp;&nbsp; - 16<br>Delphi 7&nbsp;&nbsp;&nbsp; - 15<br>Delphi 6&nbsp;&nbsp;&nbsp; - 14<br><br><strong>判断当前 Delphi 的运行库版本:</strong><br><br></p>
<div class="cnblogs_code">
<pre>procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := FloatToStr(System.CompilerVersion);
end;</pre>
</div>
<p>&nbsp;<img src="https://img2020.cnblogs.com/blog/1107379/202101/1107379-20210107125701491-1103998404.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>Compiler Directives</h2>
<table border="0" cellspacing="0" cellpadding="0"><colgroup><col width="428"><col width="554"></colgroup>
<tbody>
<tr>
<td class="xl67" width="428" height="22">
<div>
<div>
<div>
<div lang="en" dir="ltr">Delphi Compiler Directive</div>
</div>
</div>
</div>
</td>
<td class="xl67" width="554">Associated Symbol</td>
</tr>
<tr>
<td class="xl65" height="22">Align fields (Delphi)</td>
<td class="xl65">{$A},{$ALIGN}</td>
</tr>
<tr>
<td class="xl65" height="22">Application type (Delphi)</td>
<td class="xl65">{$APPTYPE}</td>
</tr>
<tr>
<td class="xl65" height="22">Assert directives (Delphi)</td>
<td class="xl65">{$C},{$ASSERTIONS}</td>
</tr>
<tr>
<td class="xl65" height="22">Boolean short-circuit evaluation (Delphi compiler directive)</td>
<td class="xl65">{$B},{$BOOLEVAL}</td>
</tr>
<tr>
<td class="xl65" height="22">Code align (Delphi)</td>
<td class="xl65">{$CODEALIGN}</td>
</tr>
<tr>
<td class="xl65" height="22">Conditional compilation (Delphi)</td>
<td class="xl65">{$IFDEF}, {$IFNDEF}, {$IF}, {$ELSEIF}, {$ELSE}, {$ENDIF}, {$IFEND}</td>
</tr>
<tr>
<td class="xl65" height="22">Debug information (Delphi)</td>
<td class="xl65">{$D},{$DEBUGINFO}</td>
</tr>
<tr>
<td class="xl65" height="22">DEFINE directive (Delphi)</td>
<td class="xl65">{$DEFINE}</td>
</tr>
<tr>
<td class="xl65" height="22">DENYPACKAGEUNIT directive (Delphi)</td>
<td class="xl65">{$DENYPACKAGEUNIT}</td>
</tr>
<tr>
<td class="xl65" height="22">Description (Delphi)</td>
<td class="xl65">{$D},{$DESCRIPTION}</td>
</tr>
<tr>
<td class="xl65" height="22">DESIGNONLY directive (Delphi)</td>
<td class="xl65">{$DESIGNONLY}</td>
</tr>
<tr>
<td class="xl65" height="22">ELSE (Delphi)</td>
<td class="xl65">{$ELSE}</td>
</tr>
<tr>
<td class="xl65" height="22">ELSEIF (Delphi)</td>
<td class="xl65">{$ELSEIF}</td>
</tr>
<tr>
<td class="xl65" height="22">ENDIF directive (Delphi)</td>
<td class="xl65">{$ENDIF}</td>
</tr>
<tr>
<td class="xl65" height="22">Executable extension (Delphi)</td>
<td class="xl65">{$E},{$EXTENSION}</td>
</tr>
<tr>
<td class="xl65" height="22">Export symbols (Delphi)</td>
<td class="xl65">{$ObjExportAll}</td>
</tr>
<tr>
<td class="xl65" height="22">Extended syntax (Delphi)</td>
<td class="xl65">{$X},{$EXTENDEDSYNTAX}</td>
</tr>
<tr>
<td class="xl65" height="22">Extended type compatibility (Delphi)</td>
<td class="xl65">{$EXTENDEDCOMPATIBILITY}</td>
</tr>
<tr>
<td class="xl65" height="22">External Symbols (Delphi)</td>
<td class="xl65">{$EXTERNALSYM [ 'typeNameInHpp' [ 'typeNameInHppUnion' ]]}</td>
</tr>
<tr>
<td class="xl65" height="22">Floating point precision control (Delphi for x64)</td>
<td class="xl65">{$EXCESSPRECISION}</td>
</tr>
<tr>
<td class="xl65" height="22">HIGHCHARUNICODE directive (Delphi)</td>
<td class="xl65">{$HIGHCHARUNICODE}</td>
</tr>
<tr>
<td class="xl65" height="22">Hints (Delphi)</td>
<td class="xl65">{$HINTS}</td>
</tr>
<tr>
<td class="xl65" height="22">HPP emit (Delphi)</td>
<td class="xl65">{$HPPEMIT}</td>
</tr>
<tr>
<td class="xl65" height="22">IFDEF directive (Delphi)</td>
<td class="xl65">{$IFDEF}</td>
</tr>
<tr>
<td class="xl65" height="22">IF directive (Delphi)</td>
<td class="xl65">{$IF}</td>
</tr>
<tr>
<td class="xl65" height="22">IFEND directive (Delphi)</td>
<td class="xl65">{$IFEND}</td>
</tr>
<tr>
<td class="xl65" height="22">IFNDEF directive (Delphi)</td>
<td class="xl65">{$IFNDEF}</td>
</tr>
<tr>
<td class="xl65" height="22">IFOPT directive (Delphi)</td>
<td class="xl65">{$IFOPT}</td>
</tr>
<tr>
<td class="xl65" height="22">Image base address</td>
<td class="xl65">{$IMAGEBASE}</td>
</tr>
<tr>
<td class="xl65" height="22">Implicit Build (Delphi)</td>
<td class="xl65">{$IMPLICITBUILD}</td>
</tr>
<tr>
<td class="xl65" height="22">Imported data</td>
<td class="xl65">{$G},{$IMPORTEDDATA}</td>
</tr>
<tr>
<td class="xl65" height="22">Include file (Delphi)</td>
<td class="xl65">{$I},{$INCLUDE}</td>
</tr>
<tr>
<td class="xl65" height="22">Input output checking (Delphi)</td>
<td class="xl65">{$I},{$IOCHECKS}</td>
</tr>
<tr>
<td class="xl65" height="22">Compiler directives for libraries or shared objects (Delphi)</td>
<td class="xl65">{$LIBPREFIX}, {$LIBSUFFIX}, {$LIBVERSION}</td>
</tr>
<tr>
<td class="xl65" height="22">Legacy IFEND (Delphi)</td>
<td class="xl65">{$LEGACYIFEND}</td>
</tr>
<tr>
<td class="xl65" height="22">Link object file (Delphi)</td>
<td class="xl65">{$L file},{$LINK file}</td>
</tr>
<tr>
<td class="xl65" height="22">Local symbol information (Delphi)</td>
<td class="xl65">{$L+},{$LOCALSYMBOLS}</td>
</tr>
<tr>
<td class="xl65" height="22">Long strings (Delphi)</td>
<td class="xl65">{$H},{$LONGSTRINGS}</td>
</tr>
<tr>
<td class="xl65" height="22">Memory allocation sizes (Delphi)</td>
<td class="xl65">{$M},{$MINSTACKSIZE},{$MAXSTACKSIZE}</td>
</tr>
<tr>
<td class="xl65" height="22">MESSAGE directive (Delphi)</td>
<td class="xl65">{$MESSAGE }</td>
</tr>
<tr>
<td class="xl65" height="22">METHODINFO directive (Delphi)</td>
<td class="xl65">{$METHODINFO}</td>
</tr>
<tr>
<td class="xl65" height="22">Minimum enumeration size (Delphi)</td>
<td class="xl65">{$Z1},{$Z2},{$Z4},{$MINENUMSIZE 1},{$MINENUMSIZE 2},{$MINENUMSIZE 4}</td>
</tr>
<tr>
<td class="xl65" height="22">NODEFINE directive (Delphi)</td>
<td class="xl65">{$NODEFINE [ 'typeNameInHpp' [ 'typeNameInHppUnion' ]]}</td>
</tr>
<tr>
<td class="xl65" height="22">NOINCLUDE (Delphi)</td>
<td class="xl65">{$NOINCLUDE}</td>
</tr>
<tr>
<td class="xl65" height="22">OBJTYPENAME directive (Delphi)</td>
<td class="xl65">{$OBJTYPENAME typeIdent ['{B|N}typeNameInObj']}</td>
</tr>
<tr>
<td class="xl65" height="22">Old type layout (Delphi)</td>
<td class="xl65">{$OLDTYPELAYOUT ON}</td>
</tr>
<tr>
<td class="xl65" height="22">Open String Parameters (Delphi)</td>
<td class="xl65">{$P},{$OPENSTRINGS}</td>
</tr>
<tr>
<td class="xl65" height="22">Optimization (Delphi)</td>
<td class="xl65">{$O},{$OPTIMIZATION}</td>
</tr>
<tr>
<td class="xl65" height="22">Overflow checking (Delphi)</td>
<td class="xl65">{$Q},{$OVERFLOWCHECKS}</td>
</tr>
<tr>
<td class="xl65" height="22">PE (portable executable) header flags (Delphi)</td>
<td class="xl65">{$SetPEFlags},{$SetPEOptFlags}</td>
</tr>
<tr>
<td class="xl65" height="22">PE header operating system version</td>
<td class="xl65">{$SETPEOSVERSION}</td>
</tr>
<tr>
<td class="xl65" height="22">PE header subsystem version</td>
<td class="xl65">{$SETPESUBSYSVERSION}</td>
</tr>
<tr>
<td class="xl65" height="22">PE header user version</td>
<td class="xl65">{$SETPEUSERVERSION}</td>
</tr>
<tr>
<td class="xl65" height="22">Pentium-safe FDIV operations (Delphi)</td>
<td class="xl65">{$U},{$SAFEDIVIDE}</td>
</tr>
<tr>
<td class="xl65" height="22">Pointer Math (Delphi)</td>
<td class="xl65">{$POINTERMATH}</td>
</tr>
<tr>
<td class="xl65" height="22">Range checking</td>
<td class="xl65">{$R},{$RANGECHECKS}</td>
</tr>
<tr>
<td class="xl65" height="22">Real48 compatibility (Delphi)</td>
<td class="xl65">{$REALCOMPATIBILITY}</td>
</tr>
<tr>
<td class="xl65" height="22">Regions</td>
<td class="xl65">{$REGION},{$ENDREGION}</td>
</tr>
<tr>
<td class="xl65" height="22">Reserved address space for resources (Delphi, Linux)</td>
<td class="xl65">{$M},{$RESOURCERESERVE}</td>
</tr>
<tr>
<td class="xl65" height="22">Resource file (Delphi)</td>
<td class="xl65">{$R},{$RESOURCE}</td>
</tr>
<tr>
<td class="xl65" height="22">RTTI directive (Delphi)</td>
<td class="xl65">{$RTTI INHERIT|EXPLICIT}</td>
</tr>
<tr>
<td class="xl65" height="22">RUNONLY directive (Delphi)</td>
<td class="xl65">{$RUNONLY}</td>
</tr>
<tr>
<td class="xl65" height="22">Run-Time Type Information (Delphi)</td>
<td class="xl65">{$M},{$TYPEINFO}</td>
</tr>
<tr>
<td class="xl65" height="22">Scoped Enums (Delphi)</td>
<td class="xl65">{$SCOPEDENUMS}</td>
</tr>
<tr>
<td class="xl65" height="22">Stack frames (Delphi)</td>
<td class="xl65">{$W},{$STACKFRAMES}</td>
</tr>
<tr>
<td class="xl65" height="22">Strong link types (Delphi)</td>
<td class="xl65">{$STRONGLINKTYPES}</td>
</tr>
<tr>
<td class="xl65" height="22">Symbol declaration and cross-reference information (Delphi)</td>
<td class="xl65">{$Y},{$REFERENCEINFO},{DEFINITIONINFO}</td>
</tr>
<tr>
<td class="xl65" height="22">Type-checked pointers (Delphi)</td>
<td class="xl65">{$T},{$TYPEDADDRESS}</td>
</tr>
<tr>
<td class="xl65" height="22">UNDEF directive (Delphi)</td>
<td class="xl65">{$UNDEF}</td>
</tr>
<tr>
<td class="xl65" height="22">Var-string checking (Delphi)</td>
<td class="xl65">{$V},{$VARSTRINGCHECKS}</td>
</tr>
<tr>
<td class="xl65" height="22">Warning messages (Delphi)</td>
<td class="xl65">{$WARN}</td>
</tr>
<tr>
<td class="xl65" height="22">Warnings (Delphi)</td>
<td class="xl65">{$WARNINGS}</td>
</tr>
<tr>
<td class="xl65" height="22">Weak packaging</td>
<td class="xl65">{$WEAKPACKAGEUNIT}</td>
</tr>
<tr>
<td class="xl65" height="22">WEAKLINKRTTI directive (Delphi)</td>
<td class="xl65">{$WEAKLINKRTTI}</td>
</tr>
<tr>
<td class="xl65" height="22">Writeable typed constants (Delphi)</td>
<td class="xl65">{$J},{$WRITEABLECONST}</td>
</tr>
<tr>
<td class="xl65" height="22">Zero-based strings (Delphi)</td>
<td class="xl65">{$ZEROBASEDSTRINGS}</td>
</tr>
</tbody>
</table>
<h2>Predefined Conditionals</h2>
<p>&nbsp;</p>
<table border="0" cellspacing="0" cellpadding="0"><colgroup><col width="76"><col width="200"><col span="3" width="88"><col width="97"><col width="95"><col width="88"><col width="110"><col width="575"></colgroup>
<tbody>
<tr>
<td class="xl66" rowspan="2" width="76" height="38">
<div>
<div>
<div>
<div lang="en" dir="ltr">Category</div>
</div>
</div>
</div>
</td>
<td class="xl66" rowspan="2" width="200">Symbol</td>
<td class="xl68" rowspan="2" width="88">DCC32</td>
<td class="xl68" width="88">DCC64</td>
<td class="xl68" width="88">DCCOSX</td>
<td class="xl68" width="97">DCCIOSARM</td>
<td class="xl68" width="95">DCCIOS32</td>
<td class="xl68" width="88">DCCAARM</td>
<td class="xl68" width="110">DCCIOSARM64</td>
<td class="xl66" rowspan="2" width="575">Comments</td>
</tr>
<tr>
<td class="xl66" width="88" height="19">&nbsp;&nbsp;Since XE2&nbsp;&nbsp;</td>
<td class="xl66" width="88">&nbsp;&nbsp;Since XE2&nbsp;&nbsp;</td>
<td class="xl66" width="97">&nbsp;&nbsp;Since XE3&nbsp;&nbsp;</td>
<td class="xl66" width="95">&nbsp;&nbsp;Since XE3&nbsp;&nbsp;</td>
<td class="xl66" width="88">In XE5</td>
<td class="xl66" width="110">Since XE8</td>
</tr>
<tr>
<td class="xl67" rowspan="4" width="76" height="114">Compiler</td>
<td class="xl67" width="200">DCC</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">DEFINED</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="110">DEFINED</td>
<td class="xl67" width="575"> </td>
</tr>
<tr>
<td class="xl67" width="200" height="19">VER310</td>
<td class="xl67" rowspan="3" width="88">DEFINED</td>
<td class="xl67" rowspan="3" width="88">DEFINED</td>
<td class="xl67" rowspan="3" width="88">DEFINED</td>
<td class="xl67" rowspan="3" width="97">DEFINED</td>
<td class="xl67" rowspan="3" width="95">DEFINED</td>
<td class="xl67" rowspan="3" width="88">DEFINED</td>
<td class="xl67" rowspan="3" width="110">DEFINED</td>
<td class="xl67" rowspan="3" width="575">For Delphi XE8, compiler version 29.0 has&nbsp;<span class="font6">VER310<span class="font0">&nbsp;defined.</span></span></td>
</tr>
<tr>
<td class="xl67" width="200" height="19"> </td>
</tr>
<tr>
<td class="xl67" width="200" height="57">For a list of compiler<br>versions, see Compiler<br>Versions.</td>

</tr>
<tr>
<td class="xl67" rowspan="18" width="76" height="361">Platform</td>
<td class="xl67" width="200">CONSOLE</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">DEFINED</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="110">DEFINED</td>
<td class="xl67" width="575">Defined if an application is being compiled as a console application.</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">IOS</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">N/A</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">Defined if the target platform is iOS.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">NATIVECODE</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">DEFINED</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="110">DEFINED</td>
<td class="xl67" width="575">Since Delphi.Net</td>

</tr>
<tr>
<td class="xl67" width="200" height="38">MSWINDOWS</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="97">not defined</td>
<td class="xl67" width="95">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="110">not defined</td>
<td class="xl67" width="575">Indicates that the operating environment is Windows. Use MSWINDOWS&nbsp;<br>to test for any flavor of the Windows platform instead of WIN32.</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">WIN32</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="97">not defined</td>
<td class="xl67" width="95">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="110">not defined</td>
<td class="xl67" width="575">Target platform is the native 32-bit Windows platform.</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">WIN64</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">Target platform is 64-bit Windows.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE2/x64</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">MACOS</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">Target platform is Mac OS X.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE2/OSX</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">MACOS32</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">Target platform is 32-bit Mac OS X.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE2/OSX</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">LINUX</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="97">not defined</td>
<td class="xl67" width="95">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="110">not defined</td>
<td class="xl67" width="575">Since Kylix</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">LINUX32</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="97">not defined</td>
<td class="xl67" width="95">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="110">not defined</td>
<td class="xl67" width="575">Since Kylix</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">POSIX</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">DEFINED</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="110">DEFINED</td>
<td class="xl67" width="575">Since Kylix</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">POSIX32</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">DEFINED</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="110">DEFINED</td>
<td class="xl67" width="575">Since Kylix</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">ANDROID</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">Defined if the target platform is Android.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New in XE5</td>

</tr>
<tr>
<td class="xl67" rowspan="15" width="76" height="304">CPU</td>
<td class="xl67" rowspan="2" width="200">CPUARM</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">Defined if the CPU is based on the ARM architecture, such as the Delphi&nbsp;<br>mobile compiler for the iOS device (DCCIOSARM.EXE).</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">CPU386</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">not defined</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="110">not defined</td>
<td class="xl67" width="575">Indicates that the CPU is an Intel 386 or later.</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">CPUX86</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">CPU is an Intel 386 or later on any platform.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE2/x64</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">CPUX64</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">The CPU supports the x86-64 instruction set, and is in a 64-bit environment.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE2/x64</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">CPU32BITS</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">The CPU is in a 32-bit environment, such as DCC32.EXE.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE8</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">CPU64BITS</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">The CPU is in a 64-bit environment, such as DCC64.EXE.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE8</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">CPUARM32</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">The CPU is in a 32-bit ARM environment, such as DCCIOSARM.EXE.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE8</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">CPUARM64</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">The CPU is in a 64-bit ARM environment, such as DCCIOSARM64.EXE.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE8</td>

</tr>
<tr>
<td class="xl67" rowspan="25" width="76" height="648">Availability</td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="95">ALIGN_STACK</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">Defined in code that may be shared with the OS X compiler and another compiler<br>on another platform such as Linux that does not have a rigid stack alignment<br>requirement. For more information, see Eli Boling's blog at<br>http://blogs.embarcadero.com/eboling/2009/05/20/5607 .</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE2/OSX</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">ASSEMBLER</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">not defined</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="110">not defined</td>
<td class="xl67" width="575">Assembler syntax is accepted.</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="57">AUTOREFCOUNT</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">Defined for compilers that use automatic reference counting, such as the Delphi<br>mobile compilers.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="57">EXTERNALLINKER</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">Defined for compilers that have an external linker and the LLVM code generator; the&nbsp;<br>Delphi mobile compilers have the external ld linker and use LLVM as code generator.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">UNICODE</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">DEFINED</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="110">DEFINED</td>
<td class="xl67" width="575">UNICODE is defined as the default string type.</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">CONDITIONALEXPRESSIONS</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="97">DEFINED</td>
<td class="xl67" width="95">DEFINED</td>
<td class="xl67" width="88">DEFINED</td>
<td class="xl67" width="110">DEFINED</td>
<td class="xl65">Tests for the use of the $IF directive.</td>

</tr>
<tr>
<td class="xl67" width="200" height="19">ELF</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="97">not defined</td>
<td class="xl67" width="95">not defined</td>
<td class="xl67" width="88">not defined</td>
<td class="xl67" width="110">not defined</td>
<td class="xl67" width="575">Defined when targeting Executable and Linkable Format (ELF) files.</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="57">NEXTGEN</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">Defined for compilers (such as the Delphi mobile compilers) that use&nbsp;<br>"next-generation" language features, such as 0-based strings.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="57">PC_MAPPED_EXCEPTIONS</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">Defined when compiling on a platform or for a target platform that uses address<br>maps instead of stack frames to unwind exceptions (such as OS X).</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE2.</td>

</tr>
<tr>
<td class="xl67" width="200" height="38">PIC</td>
<td class="xl67" width="88">never</td>
<td class="xl67" width="88">never</td>
<td class="xl67" width="88">DEFINED if -P is specified</td>
<td class="xl67" width="97">never</td>
<td class="xl67" width="95">DEFINED if&nbsp;<br>-P is specified</td>
<td class="xl67" width="88">always defined</td>
<td class="xl67" width="110">never</td>
<td class="xl67" width="575">Defined for platforms that require Position-Independent Code (PIC), such as OS X.</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="57">UNDERSCOREIMPORTNAME</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="97">not defined</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="110">not defined</td>
<td class="xl67" width="575">Defined for compilers that add a leading underscore (for example, in names of&nbsp;<br>dynamic libraries imported from Mac OS).</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="40">WEAKREF</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">Defined for compilers that can use weak references (the&nbsp;<span class="font6"><span class="font0">attribute).</span></span></td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">WEAKINSTREF</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">Defined when weak references are defined for instances.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl67" rowspan="2" width="200" height="38">WEAKINTFREF</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="88">not defined</td>
<td class="xl67" rowspan="2" width="97">DEFINED</td>
<td class="xl67" rowspan="2" width="95">DEFINED</td>
<td class="xl67" rowspan="2" width="88">DEFINED</td>
<td class="xl67" rowspan="2" width="110">DEFINED</td>
<td class="xl67" width="575">Defined when weak references are defined for interfaces.</td>

</tr>
<tr>
<td class="xl67" width="575" height="19">*New* in XE4/iOS</td>

</tr>
<tr>
<td class="xl65" height="19"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>
<td class="xl65"> </td>

</tr>

</tbody>

</table>
<p><strong>In the table column heads:</strong></p>
<ul>
<li>DCC32 is the 32-bit Windows Delphi compiler.</li>
<li>DCC64 is the 64-bit Windows Delphi compiler.</li>
<li>DCCOSX is the Mac OS X Delphi compiler.</li>
<li>DCCIOSARM is the Delphi compiler for 32-bit iOS Devices.</li>
<li>DCCIOS32 is the Delphi compiler for iOS Simulators.</li>
<li>DCCAARM.EXE is the Delphi compiler for Android devices.</li>
<li>DCCIOSARM64 is the Delphi compiler for 64-bit iOS devices.</li>

</ul>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$IFDEF CONDITIONALEXPRESSIONS</span><span style="color: rgba(0, 128, 0, 1)">}</span>
   <span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$IF CompilerVersion &gt;= 17.0</span><span style="color: rgba(0, 128, 0, 1)">}</span>
   <span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$DEFINE HAS_INLINE</span><span style="color: rgba(0, 128, 0, 1)">}</span>
   <span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$IFEND</span><span style="color: rgba(0, 128, 0, 1)">}</span>
   <span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$IF RTLVersion &gt;= 14.0</span><span style="color: rgba(0, 128, 0, 1)">}</span>
   <span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$DEFINE HAS_ERROUTPUT</span><span style="color: rgba(0, 128, 0, 1)">}</span>
   <span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$IFEND</span><span style="color: rgba(0, 128, 0, 1)">}</span>
<span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$ENDIF</span><span style="color: rgba(0, 128, 0, 1)">}</span></pre>
</div>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    好的代码像粥一样,都是用时间熬出来的<br><br>
来源:https://www.cnblogs.com/jijm123/p/14245832.html
頁: [1]
查看完整版本: [Delphi] Delphi版本号对照