用途
-fbounds-safety 是 C 语言的一个扩展,旨在通过在语言层面强制边界安全来防止越界内存访问。它会在运行时插入自动边界检查,在编译期拒绝不安全的指针操作,并要求程序员提供边界注解,以便编译器能够保证安全。越界访问会变成确定性的陷阱,而不是可被利用的漏洞。
该技能用于在采用 -fbounds-safety 或修改代码时提供帮助。
主要能力
- 提供 -fbounds-safety 语言扩展的指导。
- 涵盖语言模型、指针注解。
- 涵盖在现有 C 代码中采用边界安全。
- 涵盖编译器构建设置。
使用方式
当帮助采用 -fbounds-safety 或进行代码更改时,在建议更改之前,先询问有关用户代码库和目标的澄清问题。对于涉及多个文件或非平凡注解决策的复杂任务,使用计划模式在实施前提出方案。
详细文档
采用工作前必读:在采用任务开始时,必须通过 Read 工具完整阅读以下三份文档,并在采用工作流中任何修改源代码的步骤之前,通过 Read 工具重新阅读它们,除非其内容在活动上下文中可验证为最新:
- adoption-strategies.md — 在现有 C 项目中采用 -fbounds-safety 的工作流(完整模式和仅头文件模式)。
- language-overview.md — -fbounds-safety 的语言参考:指针种类、注解以及管理它们的规则。
- common-patterns-and-pitfalls.md — 在实际采用过程中遇到的配方和反模式。
其他参考(按需阅读):
- 有关编译器标志、Xcode 构建设置、软陷阱模式和 ptrcheck.h 配置,请阅读 build-settings.md。
- 有关在运行时调试边界违规——陷阱行为、LLDB 命令、宽指针检查、观察点、崩溃日志分析和软陷阱调试,请阅读 runtime-debugging.md。
适用场景
适用于在现有 C 项目中采用 -fbounds-safety、进行相关代码更改、处理指针注解、配置编译器构建设置,以及在运行时调试边界违规等场景。
限制
资料中未提供关于收费、价格、平台支持范围、具体效果或详细使用步骤的更多信息。