This is a read-only archive of lispforum.com. The forum was locked to new users and posts and is preserved here as static HTML from a database snapshot taken on 2019-09-07.

(FOREIGN-ALLOC... is is not of type SB-SYS:SYSTEM-AREA-P...

3 posts · 3333 views

I was hoping someone could look at this and help me debug it.

I'm getting:
  (FOREIGN-ALLOC :POINTER :INITIAL-ELEMENT (NULL-POINTER))
is not of type
  SB-SYS:SYSTEM-AREA-POINTER. when I run it.
(foreign-array-alloc #2A((

			  (foreign-alloc :pointer :initial-element (null-pointer)) 
			  (foreign-alloc :pointer :initial-element (null-pointer))) 
			 ((foreign-alloc :pointer :initial-element (null-pointer)) 
			  (foreign-alloc :pointer :initial-element (null-pointer))) 
			 ((foreign-alloc :pointer :initial-element (null-pointer)) 
			  (foreign-alloc :pointer :initial-element (null-pointer))) 
			 ((foreign-alloc :pointer :initial-element (null-pointer)) 
			  (foreign-alloc :pointer :initial-element (null-pointer)))) '(:array :pointer 4 2))

 

Re: (FOREIGN-ALLOC... is is not of type SB-SYS:SYSTEM-AREA-P

there is no function foreign-array-alloc or foreign-alloc in common lisp (by default). please say, where you got this function

(I think the second code is the one you wrote to get this message)

Re: (FOREIGN-ALLOC... is is not of type SB-SYS:SYSTEM-AREA-P

Or never mind...I just found out how to create a 2d pointer array...that was CFFI btw

(cffi::foreign-array-alloc
 (make-array '(4 2) :initial-contents
             (list (list (cffi:foreign-alloc :pointer :initial-element (c-pointer (point 1 2))) 
                         (cffi:foreign-alloc :pointer :initial-element (c-pointer (point 1 2))))
                   (list (cffi:foreign-alloc :pointer :initial-element (c-pointer (point 1 2))) 
                         (cffi:foreign-alloc :pointer :initial-element (c-pointer (point 1 2)))) 
                   (list (cffi:foreign-alloc :pointer :initial-element (c-pointer (point 1 2))) 
                         (cffi:foreign-alloc :pointer :initial-element (c-pointer (point 1 2)))) 
                   (list (cffi:foreign-alloc :pointer :initial-element (c-pointer (point 1 2))) 
                         (cffi:foreign-alloc :pointer :initial-element (c-pointer (point 1 2))))))
 '(:array :pointer 4 2))