有没有办法用Visual Studio 2010开发纯ANSI C?
答案 0 :(得分:51)
是的,这是可能的。 MSDN在此处提供了一些信息:ANSI C Compliance。
第一步是将编译器设置为生成C代码,而不是C ++代码。从项目的属性中执行此操作。展开C / C ++标题,然后单击“高级”。将“Compile As”属性设置为“Compile as C Code”(这与在命令行上指定/TC
switch相同)。更简单的方法是使用*.c
扩展名命名您的文件。
第二步是禁用Microsoft对ANSI标准的扩展。这些由/Za
and /Ze
compiler switches管理。您也可以在项目的属性中找到它们。 /Za
会导致编译器为不符合ANSI标准的语言结构发出错误。 /Ze
开关启用Microsoft特定的扩展;你想确保这个关闭。
虽然我不相信Microsoft 完全支持C99标准。请参阅VC ++团队的this bug report on MS Connect,this blog entry和this page,以获得缺乏支持的具体示例。但是,它确实完全支持C90标准。
答案 1 :(得分:3)
通过将文件扩展名更改为.c,您可以开始使用,但这里也对项目文件进行了一些更改。有关详细信息,请参阅此处:http://support.microsoft.com/kb/829488/en-us