Ответ 1
Тот факт, что у вас есть /clr
, означает, что вы используете тип проекта .Net - вам нужно выбрать тип проекта "Win32", чтобы получить чистый проект на С++.
Избегайте ничего, называющего себя "управляемым" или "CLR".
Я совершенно новичок в разработке на С++ и пытаюсь изучить его в Visual Studio. Как я могу быть уверенным, что я изучаю только С++, а не управляемые расширения? Какие параметры конфигурации мне нужно изменить? Какие типы проектов я должен придерживаться? Любые другие советы?
Боковой вопрос:
Я попытался отключить языковые расширения под
Свойства проекта → C/С++ → Язык → Отключить языковые расширения
но это вызвало ошибку компилятора:
Ошибка 1 Ошибка командной строки D8016: параметры командной строки '/Za' и '/clr' несовместимы
Я понятия не имею, что здесь происходит.
Тот факт, что у вас есть /clr
, означает, что вы используете тип проекта .Net - вам нужно выбрать тип проекта "Win32", чтобы получить чистый проект на С++.
Избегайте ничего, называющего себя "управляемым" или "CLR".
Вкратце, все проекты Win32 С++ являются родными С++.
Те, в том числе CLR в имени, управляются С++.
Расширения языка не имеют ничего общего с .NET. Это ряд расширений, относящихся к конкретным производителям, к родному С++. (Таким образом, эффект отключения языковых расширений примерно аналогичен заданию --ansi с компилятором g++)
/clr - это флаг, из которого вам нужно избавиться.
Пока вы используете типы проектов под "Win32" node в диалоговом окне "Новый проект", вы будете иметь дело только с собственным кодом. Невозможно случайно написать какой-либо управляемый код в этих проектах, если вы не зайдете в Project Properties и не переключите тип проекта на управляемый.