Using Exported Global Variables for GLib

GLib on Linux has many global variables like g_idle_funcs exported from the .so file. Symbian platform does not support exporting global variables from the DLL. Therefore, the global variable of GLib cannot be exported and hence used directly.

The users must include the header glib_global.h for libglib global variables and gobject_global.h for libgobject global variables. The other two DLLs - libgmodule and libgthread - do not have any exported global variables.

Note: The header must be included only after all the other headers in the file.

The following example code snippet explains the usage. This is a code that prints the version of GLib being used.

The variables listed below are libglib global variables:

  • glib_major_version

  • glib_minor_version

  • glib_micro_version

#include <stdio.h>
#include <glib.h>
#include <glib_global.h> // Always include as the last include 

int main()
{
    /* glib_major_version,glib_minor_version and 
     * glib_micro_version are libglib global variables
     */
    printf("The version of glib that you are using is %d.%d.%d",
            glib_major_version,glib_minor_version,glib_micro_version);
    getchar();
    return 0;
}