I just came across this term in this post,
开发者_Python百科how do I check which rule is actually used by my compiler?
Or is it possible to specify a rule for cl.exe
?
C99 compilers must define a preprcessor symbol __STDC_VERSION__
with value 199901L which C90 one shouldn't do this (nothing prevent them to do so and still be compliant with C90, but I doubt they do). Obviously nothing is sure for non compliant compilers or compilers in non compliant mode. And there are still the question of bugs and transition (last time I checked for instance, g++ didn't still define the equivalent macro at the value mandated for C++98 while most people I know think it would be more usefull for them to do so instead of waiting for the implementation of export
).
cl.exe, the Microsoft compiler? It doesn't support C99, mostly.
精彩评论