Lispはあまり使われていないでしょうけど,一応C言語で作成したライブラリを呼び出せるようです。他と同様にシェルに全部記述しました。
#!/bin/bash
gcc -o libadd.so --shared -fPIC -xc - << EOS
int add(int x, int y) { return x + y; }
EOS
cat << EOF > add.lisp
(ql:quickload :cffi)
(cffi:load-foreign-library "libadd.so")
(defun main ()
(write-line "Lisp START")
(write-line (write-to-string (cffi:foreign-funcall "add" :int 100 :int 200 :int)))
(write-line "Lisp END"))
(sb-ext:save-lisp-and-die "add" :toplevel #'main' :executable t)
EOF
sbcl --load add.lisp
if [ $? -eq 0 ]; then
./add
fi
