GCC没有警告,尽管应该

时间:2018-10-10 11:30:41

标签: c gcc warnings compiler-warnings

我有一个非常简单的Hello World程序,它的main()函数结尾没有返回值。如果我理解正确,这应该引发Wreturn类型警告,但是当我编译它时,根本没有给出任何输出。它只是编译并完成。

程序:

#include <stdio.h>
int main() {
  printf("Hello World!\n");
}

编译命令:

gcc -Wall -Wextra -o hello.o hello.c

我还专门尝试了Wreturn-type选项。

在Manjaro 18.0.0和GCC 8.2.1上

1 个答案:

答案 0 :(得分:6)

使用

gcc -std=c89 -pedantic ...

因为在C99 1 main()中不需要return 0;。好像在右括号之前是一个。