принудительная проверка возврата значения в gcc - PullRequest
0 голосов
/ 10 февраля 2011

Я компилирую некоторые файлы C / C ++, используя gcc.

Сегодня я заметил ошибку, из-за которой мое приложение зависало. Это было вызвано тем, что моя функция не возвращала никакого значения (см. Ниже). Знаете ли вы, есть ли в gcc какой-либо флаг, обеспечивающий такую ​​проверку, или почему компилятор не предупреждает меня об этом?

Я компилирую файлы C в объектные файлы с базовой опцией -g -D_GNU_SOURCE -o outObjectFile -c myFile.c.

   //.c file
   int
   myFunc(){
      ...do something
      ..without return statement
   }

   //.h file
   extern int myFun();

1 Ответ

1 голос
/ 10 февраля 2011

При использовании GCC всегда компилируйте с:

-std=c99 -pedantic -Wall -Wextra -Wwrite-strings для C

-ansi -pedantic -Wall -Wextra -Weffc++ для C ++

...