Я пытаюсь заставить Visual Studio применять стандарт ANSI C при компиляции проекта, но я не могу заставить его работать. Любые советы? Я прочитал все учебники, я включил параметр/Za и назвал свой файл как .c (not .cpp). Однако следующая программа все еще успешно завершается:Enforce ANSI C Standard в Visual Studio 2015
#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'. –