← Архив: Common Lisp

SBCL:FFI и некоторая функция

Author: · 21.09.2009 07:41
· original author: treep
Вчера ломал голову, как описать и вызвать си-функцию такого вида:
int foo (void *a[]);
Чего-то у меня постоянные проблемы с alien-ами. Например на Си я могу сделать присваивание переменной типа int или char* в переменную void* а на FFI эта возможность неявного приведения почему-то не присутствует.
допустим описание такое:
(declaim (inline c-function))
(define-alien-routine foo
    int
    (a (array (* t)))
как правильно построить alien для типа (array (* t)) из простого списка, содержащего строки и числа?
(())