下面的代码似乎编译得很好。
typedef struct Test {
int i;
int j;
} Test;
int main() {
int i;
i = 0;
Test p = {i, 1};
printf("%d\n", p.i);
return 0;
}
夹板
example2.c:9:7: Parse Error. (For help on parse errors, see splint -help
parseerrors.
(这是Test p = {i, 1};行)
这是非法的C,还是夹板中的错误?
(我想
我希望在Linux下生成一个完整的夹板报告文件,包括日期和拆分工具版本。我尝试使用">“将stdio拆分输出重定向到一个文件,但在文件中,我发现只有拆分的消息才能更好地解释,我在main.c上运行splint,在stdio上运行以下消息:
**Splint 3.1.2 --- 20 Feb 2018
main.c: (in function main)
main.c:7:8: Variable c declared but not used
A variable is declared but never used. Use /*@unused@*/ in front of
de
外面有夹板专家吗??我试图使用夹板静态地分析我在C中的一个大型项目。我看到了过多的边界检查错误,这些错误显然不是边界错误。我编写了一个小测试程序来试图隔离这个问题,并且在代码上运行夹板时注意到了一些非常奇怪的警告。我有三个不同的例子。以下是第一个:
int arr[3];
int main(void)
{
int i;
int var;
arr[3] = 0; // (1) warning with +bounds, no warning with +likely-bounds
return 0;
}
arr[3]赋值在使用+bounds时会像我所期望的那
在这段代码中(整个文件只包含一行):
char buffer[256] = { 0 };
用夹板检查,我得到了以下提示:
foo.c(1,20): Initializer block for buffer has 1 element, but declared as char
[256]: 0
Initializer does not define all elements of a declared array. (Use
-initallelements to inhibit warning)
初始化器没有定义声明数组的所有元素。--这是令人费解的:
我试图让用户改变他们的应用程序图标。然而,在学习了一篇教程之后,当我尝试更改替代图标时,它只是显示为一个空白的白色图标。没有错误,它似乎已经改变了,只是变成了空白。我对夹板等做了正确的修改,所以不知道我错过了什么。我已经附上了我正在使用的代码和折纸的图像。
UIApplication.shared.setAlternateIconName("DarkIcon") { error in
if let error = error {
print(error.localizedDescription)