2011-02-10 6 views
0

Я компилирую некоторые файлы C/C++, используя gcc.принудительная проверка возврата значения в 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

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

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

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

+0

.pedantic..looks, что я чувствую сейчас :) Благодаря –