Lobsters | 原文链接 | 2026-09-06 收录

Babashka 1.13.220 引入 FFI:在 Clojure 脚本里直接调用 C 库

来源: blog.michielborkent.nl — 2026-08-31

概述

新版 babashka 带来 babashka.ffi 命名空间,让脚本可直接加载并调用系统 C 库(如 zlib、libm),无需依赖外部 pod;它同样可作为独立库用于 JVM 的 Clojure 工程。该 API 基于 java.lang.foreign,需要你通过 arena 显式管理内存,好处是出错得到的是异常而不是打崩 REPL 的段错误。随附的 FFI 库还实现了 sqlite、duckdb、postgres 绑定,并有 raylib 游戏演示。

核心要点

金句

One benefit of this is that you'll get exceptions rather than segfaults that tear down your REPL and you can use with-open to release allocated memory.
返回 Lobsters 首页