Previous: , Up: Alien Operations   [Contents][Index]

8.3.3 Alien Dynamic Allocation

Dynamic Aliens are allocated using the malloc library, so foreign code can call free on the result of make-alien, and Lisp code can call free-alien on objects allocated by foreign code.

Macro: alien:make-alien type {size}

This macro returns a dynamically allocated Alien of the specified type (which is not evaluated.) The allocated memory is not initialized, and may contain arbitrary junk. If supplied, size is an expression to evaluate to compute the size of the allocated object. There are two major cases:

Function: alien:free-alien alien

This function frees the storage for alien (which must have been allocated with make-alien or malloc.)

See also with-alien, which stack-allocates Aliens.