0002. 核心作为进程内静态库,手写 C ABI,JSON 跨边界

状态:接受日期:2026-10-08

背景

界面与核心语言不同,需要一个边界。目标是单个可执行文件、无额外进程、不引入社区维护的绑定生成器。

决定

核心编译为静态库链接进原生应用。对外只暴露手写的 C 头文件,函数不超过二十个,业务方法统一经 grain_call(method, params_json) 调用,复杂数据以 JSON 字符串传递,事件用 C 回调推送。Swift 直接导入头文件,C# 用 P/Invoke。

备选与放弃理由

后果

源文件 docs/adr/0002-in-process-c-abi.md 更新于 2026-10-08