Symbian
Symbian OS Library

FAQ-1252 Does Symbian OS provide support for writeable static data (WSD)?

[Index][spacer] [Previous] [Next]



 

Classification: C++ Category: Base
Created: 03/22/2005 Modified: 03/23/2005
Number: FAQ-1252
Platform: Symbian OS v8.0b, Symbian OS v8.1b, Symbian OS v9

Question:
Is it the case that the new EKA2 kernel on Symbian OS allows developers to take advantage of writeable static data?

Answer:
It has long been an issue with developers porting C and C++ code to Symbian OS that the architecture does not support writeable static data (WSD), on account of a design decision that was taken early on in its conception. See FAQ-907 for the rationale behind this. When the new Symbian OS kernel was designed, it was decided that the hardware environment on devices was no longer such as to justify the maintenance of this constraint.

    As a result, versions of Symbian OS based on the new EKA2 kernel (from v9, but also including v8.0b and v8.1b which have not in practice been available as developer platforms) allow the possibility of using writeable static data. When the DLL is loaded, a pointer is assigned to a chunk in the kernel heap which can store writeable static data.

    The EKA2 emulator supports this functionality but only for a single attachment of the DLL.

    Note that, although EKA2 supports WSD, its use is still, on grounds of efficiency, not recommended other than when there are compelling reasons, such as the porting of existing code. For further details see Support for Writeable Static Data in Symbian OS.