Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Средства сборки Visual Studio включают компилятор C, который можно использовать для создания всех базовых консольных программ до полных классических приложений и мобильных приложений Windows. Microsoft C/C++ (MSVC) — это компилятор C и C++, который в последних версиях соответствует некоторым из последних языковых стандартов C, включая C11 и C17.
В этом руководстве объясняется, как создать базовую программу Hello, World-style C с помощью текстового редактора, а затем скомпилировать ее в командной строке. Если вы хотите работать в C++ в командной строке, см . пошаговое руководство. Компиляция собственной программы C++ в командной строке. Если вы хотите попробовать интегрированную среду разработки Visual Studio вместо использования командной строки, см . пошаговое руководство. Работа с проектами и решениями (C++) или использование интегрированной среды разработки Visual Studio для классических приложений C++.
Необходимые компоненты
Visual Studio или средства сборки для Visual Studio, а также набор рабочих инструментов 'Разработка настольных приложений с C++'
- Visual Studio — это эффективная интегрированная среда разработки, которая поддерживает полнофункциональный редактор, диспетчеры ресурсов, отладчики и компиляторы для многих языков и платформ. Сведения об этих компонентах, а также о скачивании и установке Visual Studio, включая бесплатный выпуск Visual Studio Community, см. в этой статье.
- Средства сборки для Visual Studio устанавливают только набор инструментов командной строки, компиляторы, средства и библиотеки, необходимые для создания программ C и C++. Это идеальный вариант для создания заданий и упражнений, а установка выполняется относительно быстро. Чтобы установить только набор инструментов командной строки, скачайте средства сборки для Visual Studio на странице загрузки Visual Studio и запустите установщик. В установщике Visual Studio выберите рабочую нагрузку C++ (в более ранних версиях Visual Studio выберите рабочую нагрузку средств сборки C++ и нажмите кнопку "Установить".
Компилятор MSVC
- MSVC имеет сложные требования к среде командной строки для поиска инструментов, заголовков и библиотек, которые он использует. Невозможно использовать MSVC в обычном окне командной строки без некоторой подготовки. Вам понадобится окно командной строки разработчика, являющееся обычным окном командной строки, в котором заданы все необходимые переменные среды. К счастью, Visual Studio устанавливает сочетания клавиш для запуска командных строк разработчика, имеющих среду, настроенную для сборок командной строки. К сожалению, имена сочетаний клавиш командной строки разработчика и их расположение отличаются практически в каждой версии Visual Studio и в разных версиях Windows. Первая задача пошагового руководства — найти нужный ярлык.
Примечание.
Ярлык командной строки разработчика автоматически задает правильные пути для компилятора и средств, а также для всех необходимых заголовков и библиотек. Некоторые из этих значений различаются для каждой конфигурации сборки. Если вы не используете ни один из ярлыков, эти значения среды необходимо задать самостоятельно. Дополнительные сведения см. в статье Использование набора инструментов MSVC из командной строки. Так как настраивать среду разработки сложно, настоятельно рекомендуется использовать ярлык командной строки разработчика вместо создания собственного.
Эти инструкции зависят от используемой версии Visual Studio. Чтобы просмотреть документацию для предпочтительной версии Visual Studio, используйте селектор версий , расположенный в верхней части оглавлений на этой странице.
Открытие командной строки разработчика в Visual Studio 2022
Если вы установили Visual Studio 2022 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите "Все приложения". Прокрутите вниз и откройте папку Visual Studio 2022 (не приложение Visual Studio 2022). Выберите элемент Командная строка разработчика для VS 2022, чтобы открыть окно командной строки.
Открытие командной строки разработчика в Visual Studio 2019
Если вы установили Visual Studio 2019 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите "Все приложения". Прокрутите вниз и откройте папку Visual Studio 2019 (не приложение Visual Studio 2019). Выберите элемент Командная строка разработчика для VS 2019, чтобы открыть окно командной строки.
Открытие командной строки разработчика в Visual Studio 2017
Если вы установили Visual Studio 2017 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите "Все приложения". Прокрутите вниз и откройте папку Visual Studio 2017 (не приложение Visual Studio 2017). Выберите элемент Командная строка разработчика для VS 2017, чтобы открыть окно командной строки.
Открытие командной строки разработчика в Visual Studio 2015
Если вы установили средства сборки Microsoft Visual C++ 2015 в Windows 10 или более поздней версии, откройте меню "Пуск" и выберите "Все приложения". Прокрутите вниз и откройте папку Microsoft Visual C++ Build Tools. Выберите элемент Командная строка Native Tools x86 Visual C++ 2015, чтобы открыть окно командной строки.
Если вы используете другую версию Windows, найдите в меню "Пуск" или на начальной странице папку средств Visual Studio, содержащую ярлык командной строки разработчика. Вы также можете использовать функцию поиска Windows для поиска командной строки разработчика и выбрать ее, соответствующую установленной версии Visual Studio. Откройте окно командной строки с помощью ярлыка.
Затем убедитесь, что командная строка разработчика настроена правильно. В окне командной строки введите cl
(или CL
, регистр не имеет значения для имени компилятора, но имеет значение для параметров компилятора). Результат должен выглядеть следующим образом.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
В зависимости от версии Visual Studio и установленных обновлений могут быть различия в текущем каталоге или номерах версий. Если предыдущие выходные данные похожи на то, что вы видите, вы готовы создать программы C или C++ в командной строке.
Примечание.
Если вы получаете ошибку, например cl, не распознается как внутренняя или внешняя команда, операблная программа или пакетный файл, ошибка C1034 или ошибка LNK1104 при выполнении cl
команды, либо вы не используете командную строку разработчика, либо что-то не так с установкой Visual Studio. Для продолжения нужно будет исправить ошибку.
Если вы не можете найти ярлык командной строки разработчика, или если при вводе cl
вы получаете сообщение об ошибке, возможно, ваша установка Visual Studio имеет проблему. При использовании Visual Studio 2017 или более поздней версии попробуйте переустановить рабочую нагрузку Разработка классических приложений на C++ с помощью установщика Visual Studio. Подробные сведения см. в статье Справка по установке средства С++ в Visual Studio. Или переустановите средства сборки со страницы загрузок Visual Studio. Не переходите к следующему разделу, пока команда cl
не сработает. Дополнительные сведения об установке Visual Studio и устранении неполадок см. в статье Установка Visual Studio.
Примечание.
В зависимости от версии Windows на компьютере и конфигурации системы безопасности может потребоваться щелкнуть правой кнопкой мыши, чтобы открыть контекстное меню для ярлыка командной строки разработчика, а затем выбрать "Запустить от имени администратора ", чтобы успешно создать и запустить программу, созданную в этом пошаговом руководстве.
Создание файла исходного кода на языке C и его компиляция из командной строки
В окне командной строки разработчика введите команду
cd c:\
, чтобы изменить текущий рабочий каталог на корень диска C:. Затем введитеmd c:\hello
, чтобы создать каталог, и введитеcd c:\hello
, чтобы перейти к этому каталогу. Этот каталог содержит исходный файл и скомпилированную программу.В командной строке разработчика введите команду
notepad hello.c
. В появившемся диалоговом окне блокнота с оповещением выберите Да, чтобы создать файлhello.c
в рабочей папке.В окне блокнота введите следующие строки кода:
#include <stdio.h> int main() { printf("Hello, World! This is a native C program compiled on the command line.\n"); return 0; }
В строке меню блокнота выберите Файл>Сохранить, чтобы сохранить файл
hello.c
в рабочей папке.Вернитесь к окну командной строки разработчика. Введите
dir
в командной строке, чтобы получить список содержимого каталогаc:\hello
. Вы увидите исходный файлhello.c
в списке каталогов, который выглядит примерно так:C:\hello>dir Volume in drive C has no label. Volume Serial Number is CC62-6545 Directory of C:\hello 10/02/2017 03:46 PM <DIR> . 10/02/2017 03:46 PM <DIR> .. 10/02/2017 03:36 PM 143 hello.c 1 File(s) 143 bytes 2 Dir(s) 514,900,566,016 bytes free
Даты и некоторые другие данные будут отличаться на вашем компьютере. Если вы не видите файл исходного кода
hello.c
, убедитесь в том, что вы открыли созданный каталогc:\hello
и сохранили исходный файл в нем в блокноте. Также убедитесь, что исходный код был сохранен с расширением имени файла.c
, а не.txt
.Чтобы скомпилировать программу, в командной строке разработчика введите
cl hello.c
.Имя исполняемой программы
hello.exe
отображается в строках выходных данных, отображаемых компилятором:c:\hello>cl hello.c Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.c Microsoft (R) Incremental Linker Version 14.10.25017.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:hello.exe hello.obj
Примечание.
Если вы получаете ошибку, например cl, не распознается как внутренняя или внешняя команда, операблированный программный файл или пакетный файл, ошибка C1034 или ошибка LNK1104, командная строка разработчика не настроена правильно. Чтобы получить сведения о том, как устранить эту проблему, вернитесь к разделу Открыть командную строку разработчика.
Если вы получаете другое сообщение об ошибке или предупреждение компилятора или компоновщика, проверьте исходный код, исправьте ошибки, сохраните его и снова запустите компилятор. Для получения сведений о конкретных ошибках введите номер ошибки в поле поиска вверху этой страницы.
Чтобы запустить программу, в командной строке введите
hello
.Программа выводит следующий текст и затем закрывается:
Hello, World! This is a native C program compiled on the command line.
Поздравляем! Вы скомпилировали и запустили программу на C с помощью командной строки.
Дополнительные шаги
Этот пример Hello, World является настолько базовым, насколько это возможно для программы на C. В реальных программах есть файлы заголовков и другие исходные файлы, подключаются библиотеки и выполняется полезная работа.
Вы можете использовать шаги, описанные в этом пошаговом руководстве для C, для создания собственного кода, чтобы не вводить приведенный пример. Вы также можете выполнить сборку различных примеров кода на C, которые можно найти в других местах. Чтобы скомпилировать программу с большими файлами исходного кода, введите их все в командной строке:
cl file1.c file2.c file3.c
Компилятор выводит программу с именем file1.exe
. Чтобы изменить имя program1.exe
, добавьте параметр компоновщика /out :
cl file1.c file2.c file3.c /link /out:program1.exe
Для автоматического выявления ошибок программирования рекомендуется компилировать с помощью параметра уровня предупреждений /W3 или /W4.
cl /W4 file1.c file2.c file3.c /link /out:program1.exe
Компилятор cl.exe
имеет множество дополнительных параметров, которые можно применить к сборке, оптимизации, отладке и анализу кода. Чтобы просмотреть краткий список, введите cl /?
в командной строке разработчика. Можно также выполнять компиляцию и компоновку отдельно и применять параметры компоновщика в более сложных сценариях сборки. Дополнительные сведения о параметрах и использовании компилятора и компоновщика см. в справочнике по сборке для C/C++.
Для настройки и создания более сложных проектов в командной строке можно использовать NMAKE и файлы makefile либо MSBuild и файлы проекта. Дополнительные сведения об использовании этих средств см. в разделах Справочник по NMAKE и MSBuild.
Языки C и C++ похожи, но имеют различия. Компилятор MSVC использует базовое правило для определения языка, используемого при компиляции кода. По умолчанию компилятор MSVC рассматривает все файлы с расширением .c
как исходные коды на языке С, а файлы с расширением .cpp
как исходные коды на языке С++. Если указан параметр компилятора /TC, компилятор будет рассматривать все файлы как исходные коды на языке С вне зависимости от расширения.
По умолчанию MSVC совместима со стандартами ANSI C89 и ISO C99, но не строго соответствует. В большинстве случаев переносимый код C компилируется и выполняется должным образом. Компилятор предоставляет необязательную поддержку изменений в ISO C11 и C17. Чтобы выполнить компиляцию с поддержкой C11 и C17, используйте флаг /std:c11
компилятора или /std:c17
. Для поддержки C11 и C17 требуется windows SDK 10.0.20201.0 или более поздней версии. Рекомендуется использовать Windows SDK 10.0.22000.0 или более позднюю версию. Последнюю версию пакета можно скачать на странице Windows SDK. Дополнительные сведения и инструкции по установке и использованию этого пакета SDK для разработки на языке C см. в статье Установка поддержки C11 и C17 в Visual Studio.
Некоторые функции библиотеки и имена функций POSIX являются нерекомендуемыми в компиляторе MSVC. Функции поддерживаются, но предпочтительные имена изменились. Дополнительные сведения см. в статьях Функции безопасности в CRT и Предупреждение компилятора (уровень 3) C4996.