## By default, ANSI memory methods are called (e.g. malloc

By default, ANSI memory methods are called (e.g. malloc()). Use the custom memory allocator by defining UseEmbeddableMagick. The custom memory allocator has the advantage of using memory-mapped heap allocation which permits the virtual memory to be returned to the system in all cases, unlike the ANSI memory methods that typically only memory-map large allocations.

## AcquireMagickMemory

AcquireMagickMemory() returns a pointer to a block of memory at least size bytes suitably aligned for any use.

The format of the AcquireMagickMemory method is:

      void *AcquireMagickMemory(const size_t size)

A description of each parameter follows:

#### size

The size of the memory in bytes to allocate.

## CopyMagickMemory

CopyMagickMemory() copies size bytes from memory area source to the destination. Copying between objects that overlap will take place correctly. It returns destination.

The format of the CopyMagickMemory method is:

      void *CopyMagickMemory(void *destination,const void *source,
        const size_t size)

A description of each parameter follows:

#### destination

The destination.

#### source

The source.

#### size

The size of the memory in bytes to allocate.

## RelinquishMagickMemory

RelinquishMagickMemory() zeros memory that has been allocated, frees it for reuse.

The format of the RelinquishMagickMemory method is:

      void *RelinquishMagickMemory(void *memory)

A description of each parameter follows:

#### memory

A pointer to a block of memory to free for reuse.

## ResetMagickMemory

ResetMagickMemory() fills the first size bytes of the memory area pointed to by memory with the constant byte c.

The format of the ResetMagickMemory method is:

      void *ResetMagickMemory(void *memory,int byte,const size_t size)

A description of each parameter follows:

#### memory

A pointer to a memory allocation.

#### byte

Set the memory to this value.

#### size

Size of the memory to reset.

## ResizeMagickMemory

ResizeMagickMemory() changes the size of the memory and returns a pointer to the (possibly moved) block. The contents will be unchanged up to the lesser of the new and old sizes.

The format of the ResizeMagickMemory method is:

      void *ResizeMagickMemory(void *memory,const size_t size)

A description of each parameter follows:

#### memory

A pointer to a memory allocation.

#### size

The new size of the allocated memory.

Discourse Server | Mailing Lists | Image Gallery | ImageMagick Studio
© 1999-2005 ImageMagick Studio LLC