В чем причина предупреждения -Wlong-long
gcc?
На странице gcc man:
-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.
Как я понимаю, long long
требуется как минимум 64 бита (практически всегда это 64-битные, по крайней мере, с сегодняшними компиляторами). Не было ли это для ISO C90 или С++ 98, или есть ли другая причина не использовать long long
?
Я знаю о типах <stdint.h>
типа int64_t
и друзьях, но некоторые не очень старые компиляторы (например, VS2005 и Green Hills ARM 3.5) не предоставляют <stdint.h>
, и я думал, что long long
будет (по крайней мере) 64 бит для этих и новых инструментальных цепей.