7 months ago
- Fil-C是一个内存安全的C/C++实现方案,能让现有C代码无需修改即可安全运行
- 它极致兼容现有C代码,特别适合为遗留系统添加内存安全保护
- Fil-C能编译出完整的内存安全Linux用户空间,但部分复杂程序仍需调整
- 该项目基于Clang分支开发,采用Apache v2.0许可证(含LLVM例外条款),当前基于Clang 20.1.8版本
- 性能已从初期较慢提升至仅比Clang慢数倍,具体取决于程序结构
- Fil-C采用与Clang不同的内部ABI,要求所有代码必须用Fil-C重新编译才能兼容
- InvisiCaps指针表示法在保持架构原生指针尺寸外观的同时确保内存安全
- 内存管理系统包含并发的精确式垃圾回收器,利用辅助能力信息实现并行处理
- 基于Linux From Scratch项目,Fil-C已构建出内存安全的Linux用户空间,但部分组件仍需非Fil-C编译器
- 尽管尚未成熟,Fil-C为C程序内存安全问题提供了极具吸引力的解决方案,特别是在可接受性能折衷的场景下