You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用E-ACSL包装脚本时如何引入头文件?(Frama-C 24.0)

E-ACSL脚本引入头文件的解决方法

对于Frama-C的E-ACSL包装脚本e-acsl-gcc.sh,你可以通过-fc选项传递Frama-C所需的预处理参数,具体操作如下:

  • 使用-fc将-cpp-extra-args参数传递给Frama-C,命令格式示例:

    e-acsl-gcc.sh --rte=all -c main.c -fc "-cpp-extra-args=\"-I src/include -I ...\""
    

    这里的-fc选项专门用于向底层调用的Frama-C实例传递参数,引号转义是为了确保shell将整个-cpp-extra-args参数正确传递给Frama-C。

  • 原理说明:e-acsl-gcc.sh在处理流程中会先调用Frama-C完成E-ACSL的插桩和分析,你遇到的头文件找不到错误正是Frama-C的kernel模块在预处理阶段抛出的,因此通过-fc传递头文件路径参数,和你之前使用frama-c -rte时的逻辑完全一致,就能解决问题。

内容的提问来源于stack exchange,提问作者sgjl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:33:27