Fil-C: A memory-safe C implementation
7 months ago
- #memory-safety
- #compiler
- #C-programming
- Fil-C是C/C++的内存安全实现方案,能让现有C代码无需修改即可安全运行
- 它极致兼容现有C代码,特别适合为现有应用程序追加内存安全特性
- Fil-C能编译出完全内存安全的Linux用户空间,复杂程序需少量修改即可适配
- 该项目基于Clang 20.1.8版本分支开发,采用Apache v2.0许可证(含LLVM例外条款)
- 通过'InvisiCaps'指针处理技术,将指针分离为可信的'能力'部分和不可信的'地址'部分
- 配备并行垃圾回收器,在内存回收时仅造成极短的线程暂停
- 已成功构建内存安全的Linux From Scratch (LFS)版本,但部分组件仍需传统编译器
- 性能损耗显著但可控,部分程序运行速度仅比Clang编译版本慢数倍
- 不支持跨语言链接(如Rust),所有代码必须用Fil-C重新编译
- 项目尚处早期阶段,目前主要由单名开发者维护,但为C程序实现内存安全展现了巨大潜力