Как настроить Visual Studio для собственной С++ (неуправляемой) разработки?

Я совершенно новичок в разработке на С++ и пытаюсь изучить его в Visual Studio. Как я могу быть уверенным, что я изучаю только С++, а не управляемые расширения? Какие параметры конфигурации мне нужно изменить? Какие типы проектов я должен придерживаться? Любые другие советы?

Боковой вопрос:
Я попытался отключить языковые расширения под

Свойства проекта → C/С++ → Язык → Отключить языковые расширения

но это вызвало ошибку компилятора:

Ошибка 1 Ошибка командной строки D8016: параметры командной строки '/Za' и '/clr' несовместимы

Я понятия не имею, что здесь происходит.

Ответ 1

Тот факт, что у вас есть /clr, означает, что вы используете тип проекта .Net - вам нужно выбрать тип проекта "Win32", чтобы получить чистый проект на С++.

Избегайте ничего, называющего себя "управляемым" или "CLR".

Ответ 2

Вкратце, все проекты Win32 С++ являются родными С++.

Те, в том числе CLR в имени, управляются С++.

Расширения языка не имеют ничего общего с .NET. Это ряд расширений, относящихся к конкретным производителям, к родному С++. (Таким образом, эффект отключения языковых расширений примерно аналогичен заданию --ansi с компилятором g++)

/clr - это флаг, из которого вам нужно избавиться.

Ответ 3

Пока вы используете типы проектов под "Win32" node в диалоговом окне "Новый проект", вы будете иметь дело только с собственным кодом. Невозможно случайно написать какой-либо управляемый код в этих проектах, если вы не зайдете в Project Properties и не переключите тип проекта на управляемый.