-ansi disabilita alcune funzionalità del compilatore, che si manterrà fedele allo standard ANSI c89 (o C++ 98, se compili un progetto in C++).
-pendatic solleva tutti i warning su pezzi di codice che non seguono strettamente lo standard:
Genera:codice:#include <stdio.h> int main() { int i; printf("ciao\n"); int j; }
-Wall abilita diversi flag di warning, mostrati quando si presentano situazioni strane.codice:anto@anto-net:~/desktop$ gcc -ansi -pedantic main.c main.c: In function ‘main’: main.c:9: warning: ISO C90 forbids mixed declarations and code
Ad esempio:
Genera i warning:codice:#include <stdio.h> int main() { int i; printf("%d\n", i); }
Senza -Wall non li avresti.codice:anto@anto-net:~/desktop$ gcc -Wall main.c main.c: In function ‘main’: main.c:8: warning: control reaches end of non-void function main.c:7: warning: ‘i’ is used uninitialized in this function
-Wextra ne attiva ancora altri. In pratica dovresti averli attivi tutti aggiungendo anche Wextra (se non ricordo male, lo trovi anche come -W, la vecchia sintassi)
Talvolta utilizzo anche -Werror. Dove trova un warning, lo tratta come un errore, quindi la compilazione non va a buon fine.

Rispondi quotando