我試圖讓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」標誌。 –