allocate-foreign-object &key type pointer-type initial-element initial-contents nelems => pointer
An FLI type specifying the type of the object to be allocated. If type is supplied, pointer-type must not be supplied.
A FLI pointer type specifying the type of the pointer object to be allocated. If pointer-type is supplied, type must not be supplied.
A keyword setting the initial value of every element in the newly allocated object to initial-element .
A list of forms which initialize the contents of each element in the newly allocated object.
An integer specifying how many copies of the object should be allocated. The default value is 1.
The function
allocate-foreign-object
allocates memory for a new instance of an object of type
type
or an instance of a pointer object of type
pointer-type
. Memory allocated in this manner must be explicitly freed using
free-foreign-object
once the object is no longer needed.
In the following example a structure is defined and an instance with a specified initial value of 10 is created with memory allocated using
allocate-foreign-object
. The dereference function is then used to get the value that
point
points to.
(fli:define-c-typedef LONG :long)
(setq point (fli:allocate-foreign-object
:type 'LONG
:initial-element 10))
(fli:dereference point)