Quelle est la raison de la -Wlong-long
avertissement gcc?
Depuis la page de manuel de gcc:
-Wlong-long
Warn if long long type is used. This is enabled by either -Wpedantic or -Wtraditional in ISO C90 and C++98 modes. To inhibit the warning messages, use -Wno-long-long.
Si je comprends bien, long long
doit être d'au moins 64 bits (il est pratiquement toujours de 64 bits, au moins avec les compilateurs actuels). N'était-ce pas le cas pour ISO C90 ou C++ 98, ou y a-t-il une autre raison de ne pas utiliser long long
?
Je connais <stdint.h>
types comme int64_t
et amis, mais certains compilateurs moins anciens (par exemple VS2005 et Green Hills ARM 3.5) ne fournissent pas <stdint.h>
, et je pensais que long long
serait (au moins) 64 bits pour ceux-ci et les chaînes d'outils plus récentes.
Il n'y avait pas long long
taper encore dans ISO C90 et C++ 98. Il n'a été ajouté qu'en ISO C99 et C++ 11.
Le GCC l'a cependant fourni comme une extension avant la normalisation.