![]() |
![]() |
![]() |
VIPS Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#include <vips/vips.h> #define IM_NEW (IM, T) #define IM_ARRAY (IM, N, T) void * im_malloc (VipsImage *im
,size_t size
); int im_free (void *s
);
Simple memory allocation utilities. These functions and macros help
allocate and free memory. Most of VIPS uses them, though some parts use
the g_malloc()
system instead, confusingly.
If you compile with DEBUGM
it will track allocations for you, though
valgrind or dmalloc are better solutions.
void * im_malloc (VipsImage *im
,size_t size
);
Malloc local to im
, that is, the memory will be automatically
freed for you when the image is closed. If im
is NULL
, you need to free
the memory explicitly with im_free()
.
If allocation fails im_malloc()
returns NULL
and
sets an error message.
If two threads try to allocate local to the same im
at the same time, you
can get heap corruption.
int im_free (void *s
);
VIPS free function. VIPS tries to use this instead of free()
. It always
returns zero, so it can be used as a callback handler.
Only use it to free
memory that was previously allocated with im_malloc()
with a NULL
first
argument.
|
memory to free |