当前,我正在使用Frama-C 19版,并在各种参数上苦苦挣扎。例如)
#include <stdarg.h>
#include <stddef.h>
void vars2(int n,va_list args) {
for (size_t i = 0; i < n; ++i) {
int tmp = va_arg(args,int);
}
};
void vars(int n,...) {
va_list args;
va_start(args,n);
vars2(n,args);
va_end(args);
};
int main(void) {
vars(5,1,2,3,4,5);
return 0;
}
我正在收到有关'[eva:alarm] main.c:6的警告:警告:读取的内容超出范围。断言\ valid_read(args)'。有什么办法可以在上面的代码中为args编写前提条件?我试图将其转换为void和int,但并没有太大帮助。非常感谢您的提前帮助。
BR, 于在秀