c - 如何使用 Frama-C 将变量类型保存到文件中
问题描述
我正在尝试使用 Frama-C 在 C 程序中打印变量类型。我发现此信息在 GUI 中表示,如下图所示。但是,我找不到将此信息输出到文件的方法。您能否建议我使用 Frama-c 执行此任务的方法?
解决方案
命令行没有直接的解决方案。然而,这可以很容易地用一个简单的脚本来完成,比如(未测试)
let print_type () =
Ast.compute();
Globals.Vars.iter
(fun v _ ->
Format.printf "Variable %a: %a@."
Cil_datatype.Varinfo.pretty v
Cil_datatype.Typ.pretty v.vtype)
let () = Db.Main.extend print_type
可以启动frama-c -load-script <my_script.ml> <other args including source files>
开发人员手册中提供了有关编写 Frama-C 脚本的更多信息(包括详尽的教程)。
推荐阅读
- java - 将 GenericRecord 转换为 SpecificRecord 会引发错误
- amazon-cloudformation - AwsCustomResource:如何知道什么时候没有更多的 ResponseFields?
- ios - 如何避免在 iOS 上为 Firebase phone auth reCAPTCHA 打开 Safari?
- swift - 同时运行 2 '.move' SKActions
- clip - 如何在谷歌地球引擎中剪辑对称差异形状文件?
- javascript - 选中的 div 上的 Laravel 复选框处于活动状态
- reactjs - React-share 社交媒体图标窗口弹出问题
- javascript - 如何在按下回车键的同时使按钮点击触发相同的事件?
- comments - 如何从评论中禁用网站选项?
- angular - 从 Protractor 配置文件访问 Angular 2+ 环境