什么是纯粹的存根和我怎么能强迫一个自动存根是一个纯函数C / c++在PolySpace服务器吗?

14日视图(30天)
我看到这个词纯存根函数PolySpace文档和验证日志和想知道它意味着什么,和怎样我可以利用它。

接受的答案

MathWorks支金宝app持团队
MathWorks支金宝app持团队 2009年10月20日
一个存根函数将被视为纯PolySpace如果函数将不会修改它的参数。在下面的例子中f是一个纯函数f和x不会修改的只有通过价值:
intf (int c);
intx = 3;
f (x);
这是一个更简单的例子:
无效g(空白);
无效h (const int * p);/ /常量限定符在这里说尖锐的物体
/ /不应该被修改。
一个纯函数的例子:
无效f (int * p);/ /存根将考虑对象由p指出可以吗/ /修改内部f
注意,您也可以迫使自动生成存根被使用“纯”
#编译指示POLYSPACE_PUREfunction_to_stub
在您的代码。参考下stub部分准备验证章源代码PolySpace用户指南的C的更多信息。
声明一个函数的优点之一是纯PolySPace验证目的是没有写一个手动存根如果你知道一个事实,即函数在运行时将不会修改它的参数。
例子:
#编译指示POLYSPACE_PUREf
intf (char * x);
int主要(void) {
字符c = 0;
int,x;
x = f(英文);
x = c;/ / c是不修改,x = 0
返回0;
}
尽管f是接受一个字符指针自动PolySpace存根将存根f作为一个纯粹的函数。

更多的答案(0)