I'm using VS 2010. I have changed the settings for compiler C code instead of C++. It works fine, but the problem is MS compilers don't supports C99 standard,for this reason I'm looking for a C compiler that can works with VS 10. How to do this? Thanks in advance.
-
What aspects of C99 do you need? AFAIK some aspects *are* implemented in the VS 2010 compilers. – 0xC0000022L May 22 '12 at 22:04
-
Well, things like: `//`, `for(int i = 0; .. )` and `enum { A, B } char*foo[] = { [A] = "..", [B] = "$.." };` (I have a lot of code using this). The solution is migrated for a compiler that really supports C99, once I can't change the default compiler of VS,right? – Jack May 23 '12 at 01:25
1 Answers
MS visual studio don't support c99, however they have implemented certain features of c99.
From this Microsoft page, their reply for c99 support:
Question by a user:
"I would like to see C99 support available in Visual Studio. The amount of work to add C99 support should pale in comparison to C++0x.
As the compiler for the dominant PC platform, Microsoft should really try harder to implement a standard that's over 10 years old -- especially because the C community is arguably larger than the C# or C++ community."
Microsoft's reply:
"Unfortunately 1) There are many, many more users of the Microsoft C++ compiler than there are of the C compiler; 2) Anytime we do customers discussion and/or solicit feedback the overwhelming response is that we should focus on C++ (especially at the moment C++-0x); 3) We just don't have the resources to do everything we would like. So while we are slowly improving our C-99 support (and we are active in the C-1x discussions) I can't promise we'll add any of these features."
-
MSC supports all c89 but limited c99 features. So you can't do that. Otherwise, you may run into problems when you use some latest gcc (c99 or c11) features. – P.P May 23 '12 at 14:23