在旧版本中使用Frama-c程序时我有些疑问。它使用函数varinfo_from_vid ()
来获取varinfo
。
在更改日志中,我看到它已被删除,可以使用varinfo索引的映射或哈希表来获取它。
因为我是cil和frama-c的新手,所以我不太了解。这是否意味着我需要自己保留(vid
,varinfo
)散列表并将其传递给使用variunfo_from_vid()
的每个函数?或者还有其他方法可以做到这一点。如果有人有例子或建议,我将非常感激。
感谢
答案 0 :(得分:3)
应该将插件转换为直接保留varinfo
,而不是int
代表vid
的{{1}}字段。没有充分的理由只存储varinfo
字段,这与Frama-C的内部结构,特别是项目不相符。
如果插件包含由vid
(int
或IntHash.t
)索引的表格,其中密钥实际上是Datatype.Int.Hashtbl.t
,那么它们也应该被替换由vid
(varinfo
)索引的表格。有关Frama-C中数据类型的更多信息,请参见Frama-C developer manual的4.9.2节。