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


Back to top


Copyright ©2008 Nokia Corporation. All rights reserved. This documentation can be used in the connection with this Product to help and support the user.