Знакомство с Microsoft C++ для пользователей UNIX

В этом разделе содержатся сведения для пользователей всех вкусов UNIX, которые являются новыми для Visual Studio и хотят работать с C++ из командной строки или с помощью Visual Studio. Visual Studio можно использовать с компилятором Microsoft C++ для целевых версий Windows. Вы также можете использовать интегрированную среду разработки Visual Studio с GCC или Clang в средах UNIX, таких как удаленные компьютеры Linux, MinGW-w64 и подсистема Windows для Linux. Чтобы использовать C++ в Visual Studio, необходимо установить рабочую нагрузку "Разработка компьютеров с помощью C++ ". Откройте Visual Studio Installer, чтобы установить рабочую нагрузку или добавить или удалить необязательные компоненты. Кроме того, установите рабочую нагрузку Разработки Linux с помощью C++ , если вы будете нацелены на удаленный компьютер Linux. Для разработки android или iOS установите рабочую нагрузку "Разработка мобильных приложений" с помощью C++ .

Начало работы с командной строкой

Компилятор Microsoft C++ можно использовать в командной строке так же, как и в среде командной строки UNIX. Для компиляции из командной строки применяются компилятор C и C++, запускаемый из командной строки (CL.EXE), компоновщик (LINK.EXE), а также другие инструменты, включая NMAKE.EXE — версию Microsoft служебной программы на базе UNIX.

В UNIX команды устанавливаются в общую папку, например в /usr/bin. В Visual Studio средства командной строки устанавливаются в каталог установки Visual Studio в подкаталог VC\bin и его подкаталоги. В отличие от UNIX, эти средства недоступны в простой командной строке. Чтобы использовать средства командной строки, необходимо использовать специальную командную строку разработчика, которая настраивает путь и другие переменные среды, необходимые для компиляции программ C++. Дополнительные сведения см. в разделах Построение кода C/C++ из командной строки и Практическое руководство. Компиляция машинной программы на языке C++ из командной строки.

Отладка кода

Отладчик Visual Studio для проектов Microsoft C++ можно использовать из командной строки или из интегрированной среды разработки. Скомпилируйте с помощью переключателя /Z7, /Zi, /ZI (отладочный формат информации), чтобы включить пошаговое прохождение по источникам. Дополнительные сведения см. в разделах Отладка машинного кода и Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++.

Для программ, скомпилированных с помощью GCC или Clang, Visual Studio вызывает GDB, LLDB или любой настраиваемый отладчик.

Система проектов Visual Studio

Система проектов Visual Studio называется MSBuild. В нем используются файлы проекта в формате XML; Файлы проекта C++ имеют расширение .vcxproj. Приложение, содержащее несколько библиотек и исполняемых файлов, причем каждый из этих объектов потенциально построен с разными наборами параметров компилятора и даже разработан на разных языках программирования. Они хранятся в нескольких проектах, которые являются частью одного решения. Решение — это абстракция для контейнера для группирования вместе нескольких проектов. Сведения о решениях хранятся в файле решения с расширением SLN. Дополнительные сведения см. в разделах Решения и проекты в Visual Studio и Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++. В главном меню выберите "Файл>нового проекта">, чтобы просмотреть доступные шаблоны проектов Visual Studio.

Начиная с Visual Studio 2017, добавлена поддержка проектов CMake, а также варианты использования компилятора Microsoft C++ с любой произвольной системой сборки или с свободной папкой исходных файлов и без файлов проекта. Дополнительные сведения см. в проектах CMake в Проектах Visual Studio и Open Folder в Visual Studio.

Модификаторы, используемые в системах Майкрософт

Компилятор Майкрософт реализует несколько расширений на стандартных языках программирования C и C++ для поддержки программирования для операционных систем Windows. Эти расширения используются для указания атрибутов класса хранения, соглашений о вызовах функций, базовых адресов и т. п. Полный список всех поддерживаемых расширений C и C++ см . в разделе модификаторов, зависящих от Майкрософт.

Большинство расширений майкрософт можно отключить в C89 с помощью параметра компилятора /Za . Этот параметр рекомендуется использовать только в том случае, если требуется написать код для выполнения на нескольких платформах, требующих соответствия C89. Дополнительные сведения о параметре компилятора /Za см. в разделе /Ze/Za(Отключение расширений языка). Дополнительные сведения о соответствии компилятора C и C++ см. в статье о соответствии языка Microsoft C/C++ и нестандартному поведению.

Предварительно скомпилированные заголовки

Компиляторы Microsoft C и C++ содержат параметры для предварительной компиляции любого кода C или C++, включая встроенный код. Данная возможность позволяет скомпилировать стабильное тело кода, сохранять скомпилированное состояние кода в файле, а при последующих компиляциях объединять предварительно скомпилированный код с кодом, который еще находится в стадии разработки. Каждая последующая компиляция выполняется быстрее, так как стабильный код не нужно компилировать повторно.

По умолчанию весь предварительно скомпилированный код указывается в файлах pch.h и pch.cpp (файлы stdafx.h и stdafx.cpp в Visual Studio 2017 и предыдущих версиях). Дополнительные сведения о предкомпилированных заголовках см. в разделе Создание файлов предкомпилированных заголовков.

Дополнительные сведения см. в разделе "Запуск программ Linux в Windows".

См. также

Проекты и системы сборки