Symbian3/SDK/Source/GUID-C762E5B4-A7E3-5CAD-B639-A31F5D1899D3.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 xml:lang="en" id="GUID-C762E5B4-A7E3-5CAD-B639-A31F5D1899D3"><title>Overview of DLL building</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Building a DLL target generates two files: </p> <ul><li id="GUID-4D007B23-B8D2-56AB-87F9-D52D873094AE"><p>The compiled DLL binary: this file contains the executable code that is called at run-time. It often has the extension <filepath>.DLL</filepath>, though some DLLs have extensions that indicate their particular purpose, e.g. <filepath>.ANI</filepath> for animation DLLs. </p> </li> <li id="GUID-6FDF4195-AB87-5539-97C3-2755B24797B2"><p>Import library: represents the exported interface of the DLL. This allows other programs to use the DLL, by linking against the import library at build time. </p> <p>Import libraries have the extension <filepath>.lib</filepath> in the Symbian emulator and ARM ABIv1 builds, or <filepath>.dso</filepath> in the ARM ABIv2 builds. </p> </li> </ul> <p>Other programs can use DLLs in two ways: </p> <ul><li id="GUID-836D29E7-3257-50EB-943A-3FA1CC932DFC"><p>By linking against them at build time, using the interface defined in a C++ header file, and in the DLL's import library. </p> <p>DLLs designed to be used in this way are called <xref href="GUID-FF312AAD-E40B-5238-A31C-B34AFD892D5A.dita">static interface DLLs</xref>. </p> </li> <li id="GUID-571E1BEF-C35C-5AB9-BE6E-E45717E7DE5D"><p>By using an API to dynamically load and call the DLL at run-time. DLLs designed to be used in this way are called <xref href="GUID-6482956D-C3A3-5B68-A37F-4250C85B0D82.dita">polymorphic interface DLLs</xref>. </p> <p>See <xref href="GUID-93086866-F6E1-5715-A3BE-EEACF8A760DB.dita">Frameworks, libraries and DLLs</xref> for more on this idiom, and <xref href="GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457.dita">Dynamically Loading Link Libraries API</xref> for details of the API. </p> </li> </ul> <p>The following pages discuss the special configuration issues associated with building for DLL targets. </p> </conbody></concept>