Первая программа в Visual Studio


Мы можем по отдельности использовать текстовый редактор и компилятор, вручную компилировать и запускать программу в консоли или терминале, однако более удобный способ представляет использование различных сред разработки или IDE. Они, как правило, содержит встроенный текстовый редактор, имеет связь с компилятором, позволяя скомпилировать и запустить программу по одному клику мыши, а также еще множество разных вспомогательных возможностей.

В данном случае для программирования под Windows в качестве среды разработки мы будем использовать бесплатную и полнофункциональную среду Visual Studio 2019 Community, которую можно найти по адресу https://www.visualstudio.com/ru/vs/.

После загрузки и запуска установщика Visual Studio в нем необходимо отметить пункт "Разработка классических приложений на C++":

Установка С++ в Visual Studio 2019
Выбрав все необходимые пункты, нажмем ОК для запуска установки. После установки Visual Studio создадим первый проект. Для этого откроем Visual Studio. На стартовом экране выберем тип Empty Project для языка C++:

Первый проект на Си в Visual Studio
На следующем экране в поле для имени проекта дадим проекту имя HelloApp и также можно указать расположение проекта. И затем нажмем на Create для создания проекта.

Первый проект на Си в Visual Studio
Если в VS уже открыт какой-нибудь проект, то можно содать новый проект для C через меню File (Файл) -> New (Создать) -> Project... (Проект) и дальше повторить те же действия.

После этого Visual Studio создаст пустой проект. Добавим в него текстовый файл для набора исходного кода. Для этого в окне Solution Explorer (Обозреватель решений) нажмем правой кнопкой мыши на узел Source Files и в контекстом меню выберем Add -> New Item...:

Добавление файла на Си в Visual Studio 2017
Затем нам откроется окно для добавления нового элемента:

Добавление исходного файла на Си в Visual Studio 2017
Здесь нам надо выбрать пункт C++ File(.cpp), а внизу окна укажем для файла имя Hello.c. Как правило, исходные файлы на Си имеют расширение .с. Оно указывает, что этот файл содержит исходный код на языке С, и он будет обрабатываться соответствующим компилятором.

После добавления файла изменим опции проекта. Для этого перейдем к пункту меню Project -> Properties

Свойства проекта на Си в Visual Studio
Сначала в свойствах проекта установим, что это будет консольное приложение. Для этого перейдем к пункту Linker ->System и далее для поля SubSystem установим значение Console(/SUBSYSTEM:CONSOLE), выбрав нужный элемент в списке:

Closing console C++ in Visual Studio
После установки этого значения нажмем на кнопку "Применить", чтобы новые настройки конфигурации вступили в силу.

Также в окне свойств проекта в левой части перейдем к секции С/С++ и далее к пункту Advanced:

Установка компилятора для языка Си в VS 2017
В правой части окна для поля Compile As установим значение Compile as C Code (/TC). Тем самым мы говорим, чтобы по умолчанию исходный код компилировался именно как код С, а не С++. После установки этой опции нажмем на кнопку "Применить".

После добавления файла проект будет иметь следующую структуру:

Структура проекта на Си в Visual Studio 2017
Вкратце пробежимся по этой структуре. Окно Solution Explorer содержит в решение. В данном случае оно называется HelloApp. Решение может содержать несколько проектов. По умолчанию у нас один проект, который имеет то же имя - HelloApp. В проекте есть ряд узлов:

External Dependencies: отображает файлы, которые используются в файлах исходного кода, но не являются частью проекта

Header Files: предназначена для хранения заголовочных файлов с расширением .h

Resource Files: предназначена для хранения файлов ресурсов, например, изображений

Source Files: хранит файлы с исходным кодом

Теперь определим в файле Hello.c простейший код, который будет выводить строку на консоль:

1
2
3
4
5
6
#include <stdio.h> // подключаем заголовочный файл stdio.h
int main(void) // определяем функцию main
{ // начало функции
printf("Hello world! \n"); // выводим строку на консоль
return 0; // выходим из функции
} // конец функции
Здесь использован весь тот код, который был рассмотрен в предыдущих темах про компиляцию с помощью GCC.

Теперь запустим программу. Для этого в Visual Studio нажмем на сочетание клавиш Ctrl+F5 или выберем пункт меню Debug -> Start Without Debugging:

Запуск программы на Си в Visual Studio
И в итоге Visual Studio передаст исходный код компилятору, который скомпилирует из кода исполняемый файл exe, который потом будет запущен на выполнение. И мы увидим на запущенной консоли наше сообщение:

Первое приложение на языке программирования Си
Затем в папке Debug в проекте мы можем увидеть скомпилированный файл exe, который мы можем запускать независимо от Visual Studio:

Компиляция кода на языке программирования Си
В данном случае файл HelloApp.exe как раз и представляет скомпилированный исполняемый файл. Кроме этого файла в той же папке автоматически генерируются два вспомогательных файла:

HelloApp.ilk: файл "incremental linker", который используется компоновщиком для ускорения компоновки

HelloApp.pdb: файл, который содержит отладочную информацию