S60 Open C
libdl API Specification

libdl API Specification

Table of Contents

Limitations

 


Limitations

The limitations are as following:

  • dlopen() limitations: The flags within the mode argument of dlopen() will have the same impact irrespective of their values. This is because the implementation relies on the current behavior of the Symbian OS loader server, which does not support the usage of these flags. POSIX suggests returning a handle to the global symbol object if the first argument to dlopen() is NULL. However, the implementation does not return a handle to the global symbol object: instead, it returns NULL in this scenario. This is due to the non-availability of the global symbol object within the libdl library. Support for the export of routines that use __attribute((constructor)) and __attribute((destructor)) function attributes is not provided. However, invocation of the constructors of the global (static) objects, if any, will be performed prior to returning from dlopen().
  • dlsym limitations: POSIX suggests address lookup through symbol names. However, the implementation uses ordinal numbers instead of symbol names. Ordinal numbers of the exported functions could be obtained from the DEF file of the associated DLL. Special handles to dlsym() are ignored, and the users receive NULL as the return value of dlsym() in this scenario.
  • Cannot support address lookup using names due to the current behavior of the RLibrary API within Symbian OS.

Give feedback of this article


©Nokia 2007

Back to top


This material, including documentation and any related computer programs, is protected by copyright controlled by Nokia. All rights are reserved. Copying, including reproducing, storing, adapting or translating, any or all of this material requires the prior written consent of Nokia. This material also contains confidential information, which may not be disclosed to others without the prior written consent of Nokia.

Nokia is a registered trademark of Nokia Corporation. S60 and logo is a trademark of Nokia Corporation. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. Other company and product names mentioned herein may be trademarks or tradenames of their respective owners.