我试图让Visual Studio在编译项目时强制执行ANSI C标准,但是我无法让它正常工作。 任何提示? 我已阅读所有教程,我启用了/ Za选项,并将我的文件命名为.c(不是.cpp)。但是,下面的程序仍然能够成功地建立:在Visual Studio 2015中强制执行ANSI C标准
#include <stdio.h>
void main(void)
{
for (int i = 0; i < 10; i++)
{
}
int f = 0;
}
但它不应该。它必须是这样的尊重ANSI C标准:
#include <stdio.h>
void main(void)
{
int i;
int f = 0;
for (i = 0; i < 10; i++)
{
}
}
我想的GCC选项“-ansi”和“-Wpedantic相当于”。 这VS甚至可能吗?
第一个程序完全(除了'void main'位)符合当前的ANSI C标准,它与当前的ISO C标准(通常称为C11)相同。 VS2015不支持它。它只支持一个*前*标准,C99,该程序也符合该标准。如果您想要符合其他以前的标准(如C89/90),则需要将工具集降级到类似v100(VS2010)的类别,或使用其他编译器。没有什么像MSVC中的“-std”标志。 –