How can I check the preprocessor directive if the type unsigned long longis available in the current build environment?
unsigned long long
I tried to check
#if __STDC_VERSION__ >= 199901L /* Available */ #else /* Not available */ #endif
but compiling with gcc and at least without the -std=-compiler argument results in "Not avaibalble" (but will work).
-std=
Is there a better macro to verify that it at least works with standard C99 compilers and with GCC without -std=C99?
-std=C99
Although these are not the most elegant solutions, my first instinct would be to check for a character ULLONG_MAXin the title limits.h.
ULLONG_MAX
limits.h
, unsigned long long int . , , , - , , .
unsigned long long int
, ? ? , , unsigned long long, , .
, C99 - , , C99 unsigned long long.