The free-foreign-object
function deallocates the space in memory pointed to by pointer, which frees the memory for other uses. The address of pointer is the start of a block of memory previously allocated by allocate-foreign-object.
If pointer is a null pointer then free-foreign-object
takes no action.
In the following example a boolean type is defined and an instance is created with memory allocated using allocate-foreign-object. The function free-foreign-object
is then used to free up the memory used by the boolean.
(fli:define-c-typedef BOOL (:boolean :int))
(setq point (fli:allocate-foreign-object :type 'BOOL))
(fli:free-foreign-object point)
LispWorks Foreign Language Interface User Guide and Reference Manual - 16 Feb 2015