Pourquoi GCC semble beaucoup plus bavard dans Ubuntu 10?
Question
J'ai récemment fait un clone cp (pour l'Université) et j'arrivé à découvrir quelque chose que je ne l'avais jamais eu la chance de.
Cela vaut au moins pour la compilation GCC une source C.
Je l'ai fait le développement principal de ce programme spécifique C dans un Mac OS X (10.6.4), construit avec /usr/bin/gcc --version
d'Apple
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
Copyright (C) 2007 Free Software Foundation, Inc.
Cependant, j'ai couru les tests dans une machine virtuelle Arch Linux dans le Mac, avec la dernière gcc (aucun ajout, aucune personnalisation, pas de mods comme Apple)
gcc (GCC) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
Et nous avons dû construire dans la classe dans Ubuntu 10.04.1 LTS que nous avons là.
Mon Makefile était quelque chose comme:
CC=gcc
#CFLAGS=-O0 -g -Wall
CFLAGS=-O3 -Wall -finline-functions
EXE=copy
compile:
$(CC) $(CFLAGS) -o $(EXE) main.c
Alors, j'étais toujours en cours d'exécution (dans tous les OS) avec gcc -Wall
activé.
Mac et Arch ne montraient aucun avertissement.
Ubuntu deux avertissements imprimés, avec sans -Wall
do_copy.c: In function 'do_copy_file2file':
do_copy.c:27: warning: ignoring return value of 'realpath', declared with attribute warn_unused_result
do_copy.c: In function 'do_copy_symlink2file':
do_copy.c:117: warning: ignoring return value of 'symlink', declared with attribute warn_unused_result
La version de GCC d'Ubuntu est la valeur par défaut pour la distribution:
gcc (Ubuntu 4.4.3-ubuntu5) 4.4.3
Pourquoi est-ce que cela se produise?
Pourquoi ne vois-je pas des avertissements dans les deux autres systèmes d'exploitation et dans Ubuntu-je faire?