Symbian3/SDK/Source/GUID-35532303-1316-58CA-90C8-FAB56EE3C1F5.dita
changeset 13 48780e181b38
parent 12 80ef3a206772
child 14 578be2adaf3e
equal deleted inserted replaced
12:80ef3a206772 13:48780e181b38
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-35532303-1316-58CA-90C8-FAB56EE3C1F5" xml:lang="en"><title>version</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    13 <p> <codeph>version</codeph>  <varname>major.minor</varname> <codeph>[explicit]</codeph>  </p>
       
    14 <p>The <codeph>version</codeph> keyword allows a version number to be set
       
    15 for a project. The optional keyword, <codeph>explicit</codeph> is used to
       
    16 append the specified version number to the <filepath>.exe</filepath> or <filepath>.dll</filepath> output
       
    17 file. </p>
       
    18 <p>EKA1 will only allow one version of an executable to exist in a Symbian
       
    19 platform phone. However, EKA2 supports version numbering. Version numbering
       
    20 associates a version number with each executable enabling new and old versions
       
    21 of the same executable to be on the device simultaneously. </p>
       
    22 <p>The <codeph>version</codeph> keyword takes a major and a minor value separated
       
    23 by a full stop. This value is defined as 32 bit, anything exceeding this will
       
    24 produce a warning. Failing to enter a value will result in a warning and a
       
    25 default value of 10.0 being supplied for binaries built with an EABI compliant
       
    26 compiler. Omitting the version keyword altogether will also result in a default
       
    27 of 10.0 being applied. The version number can be found at Hexadecimal offset
       
    28 70 within the header of the executable file in ROM. </p>
       
    29 <p>Usage of the version keyword is optional. One use is to aid eclipsing.
       
    30 In order to eclipse a file on ROM successfully the version of the new file
       
    31 can be set to a higher value than the version of the file to eclipse. This
       
    32 tells the loader that the new file is preferred over the old one. </p>
       
    33 <p>See the <xref href="GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita#GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0/GUID-124e78dc-2c94-4901-a90b-20ddc2f3ad66">Important
       
    34 Considerations</xref> section for more information. </p>
       
    35 <p>The loader will show preference to versions that have a major number that
       
    36 is equal to the one requested, and of these the minor numbers
       
    37 that are higher are preferred. The loader can assume by the version number
       
    38 that the API is compatible, while also being the most up to date version available. </p>
       
    39 <p>If the above is not available the loader will look for DLLs with a higher
       
    40 major version number than the one requested. Of these it will select the one
       
    41 with the lowest major number and the highest minor number. If the executable
       
    42 requests exports that no longer exist in this DLL, then the loader cannot
       
    43 use it. </p>
       
    44 </conbody></concept>