标签
讨论了 Filian、Fil-C 工具链以及在 Debian 上构建 Fil-C 二进制文件,标志着主流 Linux 发行版在采用内存安全 C 语言方面取得了进展。
作者主张一种讲 Fil-C ABI 的 Rust FFI,使其能够与重新编译的 C/C++ 库安全互操作,并呼吁 Rust、Fil-C、Zig 和 Nix/filnix 社区之间进行跨生态协作。
文章讨论了最近通过 Fil-C 提出的 Zig 内存安全方案,比较了 Fil-C 与 Rust 对内存安全的定义,并主张内存安全是一个具有实用定义的频谱,同时使用了一个 Fil-C 仍然不安全的具体示例。
Isaac Van Doren 回顾了他在密苏里州哥伦比亚市举办的 "Software Should Work" 大会的意外成功,提到了高度投入的观众、积极的氛围,以及对 Zig 开发的直接影响——Andrew Kelley 为受 Fil-C 启发的编译模式开启了一个 issue。
描述了 Fil-C 的 InvisiCaps 能力模型,该模型通过跟踪指针权限来确保 C 和 C++ 的内存安全,同时追求极致的兼容性和合理的性能。
Fil-C引入了setjmp/longjmp和ucontext API的内存安全实现,防止悬空栈损坏,并在误用时触发panic。