Is there a way to develop pure ANSI C with Visual Studio 2010?
相关问题
- Multiple sockets for clients to connect to
- How to know full paths to DLL's from .csproj f
- Importing NuGet references through a local project
- What is the best way to do a search in a large fil
- Visual Studio 2019 - error MSB8020: The build tool
Yes, it's possible. MSDN provides some information here: ANSI C Compliance.
Step one is setting the compiler to produce C code, rather than C++ code. Do that from your project's Properties. Expand the C/C++ header, and click on "Advanced". Set the "Compile As" property to "Compile as C Code" (this is the same as specifying the
/TC
switch on the command line). Even easier is to just name your files with a*.c
extension.Step two is disabling Microsoft's extensions to the ANSI standards. These are governed by the
/Za
and/Ze
compiler switches. You can find these in your project's Properties, as well./Za
causes the compiler to emit an error for language constructs that are not compliant with the ANSI standard. The/Ze
switch enables Microsoft-specific extensions; you want to make sure that this one is turned off.Although I don't believe that Microsoft fully supports the C99 standard. See (and vote for!) this bug report on MS Connect, this blog entry from the VC++ team, and this page for a concrete example of where that lack of support becomes evident. It does, however, have full support for the C90 standard.
Via changing the file extension to .c will get you started but here are also some changes to the project file. See here for details: http://support.microsoft.com/kb/829488/en-us
There is also a good podcast on that: http://channel9.msdn.com/Blogs/Sam/C-Language-Programming-with-Visual-Studio-2010-Ultimate-Pro-or-VC-Express