Memory Allocators

Memory Allocators — deprecated way to allocate chunks of memory for GList, GSList and GNode

Synopsis


#include <glib.h>

                    GAllocator;
GAllocator*         g_allocator_new                     (const gchar *name,
                                                         guint n_preallocs);
void                g_allocator_free                    (GAllocator *allocator);

Description

Prior to 2.10, GAllocator was used as an efficient way to allocate small pieces of memory for use with the GList, GSList and GNode data structures. Since 2.10, it has been completely replaced by the slice allocator and deprecated.

Details

GAllocator

typedef struct _GAllocator GAllocator;

Warning

GAllocator is deprecated and should not be used in newly-written code.

The GAllocator struct contains private data. and should only be accessed using the following functions.


g_allocator_new ()

GAllocator*         g_allocator_new                     (const gchar *name,
                                                         guint n_preallocs);

Warning

g_allocator_new has been deprecated since version 2.10 and should not be used in newly-written code. Use the slice allocator instead

Creates a new GAllocator.

name : the name of the GAllocator. This name is used to set the name of the GMemChunk used by the GAllocator, and is only used for debugging.
n_preallocs : the number of elements in each block of memory allocated. Larger blocks mean less calls to g_malloc(), but some memory may be wasted. (GLib uses 128 elements per block by default.) The value must be between 1 and 65535.
Returns : a new GAllocator.

g_allocator_free ()

void                g_allocator_free                    (GAllocator *allocator);

Warning

g_allocator_free has been deprecated since version 2.10 and should not be used in newly-written code. Use the slice allocator instead

Frees all of the memory allocated by the GAllocator.

allocator : a GAllocator.