Как получить правильные предупреждения с помощью компилятора Cygwin C в Eclipse IDE - PullRequest
1 голос
/ 23 сентября 2019

Я изучаю "C", поэтому я установил Eclipse IDE и компилятор Cygwin.

Это мой код.

#include <stdio.h>

int main(void)
{
    printf("Hello World\n");


//  return 0;
}

Я настроил эти параметры для компилятора Cygwin "-O0 -g3 -Wall -Wextra -Werror -c -fmessage-length = 0 "

Что меня беспокоит, так это то, что я не получаю никакого" предупреждения ", и оно должно что-то сказать об этом пропущенном" возврате "в"int function".

Я позволю здесь вывод консоли

    11:55:37 **** Incremental Build of configuration Debug for project HelloWorld ****
make all 
Building file: ../main.c
Invoking: Cygwin C Compiler
gcc -O0 -g3 -Wall -Wextra -Werror -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.o" -o "main.o" "../main.c"
Finished building: ../main.c

Building target: HelloWorld.exe
Invoking: Cygwin C Linker
gcc  -o "HelloWorld.exe"  ./main.o   
Finished building target: HelloWorld.exe


11:55:38 Build Finished. 0 errors, 0 warnings. (took 602ms)

Спасибо, ребята:)

1 Ответ

2 голосов
/ 23 сентября 2019

Это часть стандарта.Вам не нужно (явно) возвращать значение в основной функции, поэтому вы не получите предупреждение.

ISO / IEC 9899: TC2 , 5.1.2.2.3 говорит:

(...)

при достижении}, завершающем основную функцию, возвращается значение 0.

(...)

...