|
Revision 3997, 0.9 KB
(checked in by hans, 2 years ago)
|
|
Update CFFI and Alexandria for SBCL-1.0.20 compatibility.
|
| Line | |
|---|
| 1 | |
|---|
| 2 | CFFI, the Common Foreign Function Interface, purports to be a portable |
|---|
| 3 | foreign function interface, similar in spirit to UFFI. |
|---|
| 4 | |
|---|
| 5 | Unlike UFFI, CFFI requires only a small set of low-level functionality |
|---|
| 6 | from the Lisp implementation, such as calling a foreign function by |
|---|
| 7 | name, allocating foreign memory, and dereferencing pointers. |
|---|
| 8 | |
|---|
| 9 | More complex tasks like accessing foreign structures can be done in |
|---|
| 10 | portable "user space" code, making use of the low-level memory access |
|---|
| 11 | operations defined by the implementation-specific bits. |
|---|
| 12 | |
|---|
| 13 | CFFI also aims to be more efficient than UFFI when possible. In |
|---|
| 14 | particular, UFFI's use of aliens in CMUCL and SBCL can be tricky to |
|---|
| 15 | get right. CFFI avoids this by using system area pointers directly |
|---|
| 16 | instead of alien objects. All foreign function definitions and uses |
|---|
| 17 | should compile without alien-value compiler notes in CMUCL/SBCL. |
|---|
| 18 | |
|---|
| 19 | Please consult the manual for further details, including installation |
|---|
| 20 | instructions. |
|---|