Подтвердить что ты не робот

Почему gcc имеет предупреждение долгое время?

В чем причина предупреждения -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 бит для этих и новых инструментальных цепей.

4b9b3361

Ответ 1

В ISO C90 и С++ 98 еще не было типа long long. Он добавлен только в ISO C99 и С++ 11.

GCC предоставил его как расширение до стандартизации.