首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个可能无限的C函数的ACSL规范

一个可能无限的C函数的ACSL规范
EN

Stack Overflow用户
提问于 2013-02-21 17:42:53
回答 1查看 180关注 0票数 3

我试图指定外部函数的行为,更准确地说,是它们的终止。ACSL文档指出,\terminates p;属性指定,如果谓词p成立,则函数保证终止,但当p不成立时,则不指定任何内容。它还解释了从不返回的函数可以通过以下方式指定:

代码语言:javascript
复制
//@ ensures \false ; terminates \false ;

此外,ACSL提供了一个属性\exits p;来指定在突然终止的情况下的后置条件。所以我想知道:

代码语言:javascript
复制
//@ ensures \false ; exits \false; terminates \false ;

会指定函数永远循环吗?

此外,规范是什么:

代码语言:javascript
复制
//@ ensures p ; exits q; terminates \false ;

对于可能的无限循环意味着什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-23 22:36:49

你的规范是最接近的,可以说一个函数是永远循环的,但我仍然看到了两个角落的情况:

ACSL运行时错误:您总是可以说它们在其他地方得到了处理(+

  1. Value)
  2. longjmp:,我担心在genassigns中目前还没有指定这样的东西。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14998947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档