I know that compilers use __STDC__
to indicate that a compiler is standard C and, from, there, you can use __STDC_VERSION__
to figure out which level of the standard you're using.
I also know that C90 had no value, C90 amendment 1 had 199401L
and C99 had 199901L
.
The latest C1x draft I have simply states it as 201ymmL
and I'm assuming it was made a less "vague" value in the final standard.
My guess is that it will be 201112L
since that's when C11 was ratified but I'd like to be certain.
I thought I could try using gcc -std=c1x
but the version of gcc
I'm running doesn't support that yet.
Does anyone know what the actual value is?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…