什么是运行时约束?

问题描述 投票:0回答:1

我已经多次听到“运行时约束”一词。那时,我一直在实际标准ISO / IEC 9899:2018(C18)中寻找“运行时约束”一词,但我所发现的却很少:

来源:ISO / IEC 9899:2018(C18),第3.18节:

3.18

1运行时约束

调用库函数时对程序的要求。

我不明白,这句话应该表达什么。有什么要求?我比以前了解得少。

“需求”本身在这里没有任何描述。仅强调指出,在调用库函数时,引用的要求应是现存的,而不是该要求的确切含义。

“这里的“程序”到底是什么意思?

这意味着对可执行文件的要求是运行时约束如何应当调用库函数吗?但是为什么可执行文件要调用库函数呢?我的意思是可执行文件只是机器代码,需要执行。


  • C中的运行时约束是什么?

提前感谢。

c function runtime terminology function-call
1个回答
0
投票

这是在运行时进行的对非法值或缺失值的检查-实际的约束检查取决于所调用的特定库函数。例如,

K.3.5.1.1 tmpfile_s函数概要1#define _ _STDC_WANT_LIB_EXT1_ _ 1 #include <stdio.h> errno_t tmpfile_s(FILE * restrict * restrict streamptr);运行时约束2 streamptr不能为空指针。

IOW,如果将NULL传递为streamptr,则表示运行时约束冲突,这将导致调用约束处理程序函数(您可以编写自己的约束处理程序函数)。如果可以帮助可视化它,则它是一种但不是真正的异常处理程序。

每个库函数定义了自己的要求,因此每个库函数都有自己的运行时约束检查。

© www.soinside.com 2019 - 2024. All rights reserved.