Logo
Версия для печати

Использование констант компиляции в Visual Studio

Станьте первым комментатором! Программирование
Print Friendly, PDF & Email

Рассмотрим на конкретном примере использование констант компиляции при работе в Visual Studio 2017.

Допустим, у нас есть программа, которая должна выводить в консоль отчёт. И нам нужно изменить её так, чтобы она не выводила отчёт. Конечно, можно просто закомментировать ненужные участки кода и перекомпилировать программу. Но это не наш метод! К тому же, наверняка придётся проделать эту операцию комментирования-раскомментирования снова. Поэтому воспользуемся более удобным способом – используем пользовательские константы условной компиляции.

В Visual Studio создать пользовательские константы компиляции можно через свойства проекта, раздел компиляция, дополнительные параметры компиляции. Тип константы может быть Boolean, Double, String, Integer. В поле Пользовательские константы введём LOG=False. Мы определили пользовательскую константу компиляции LOG и присвоили ей булево значение False.

Диалог определения пользовательской константы компиляции через интерфейс Visual Studio
Диалог определения пользовательской константы компиляции через интерфейс Visual Studio

Теперь в коде программы участки, которые мы хотим «отключать», обрамим конструкцией:

#If LOG Then
'...код
#End If

Можно, кстати, использовать в коде инвертированное условие, если константа имеет тип Boolean: "#If Not LOG Then...".

Процедура, использующая константы условной компиляции
Процедура, использующая константы условной компиляции

Для того чтобы включить вывод отчёта в нашей программе, достаточно в свойствах проекта, в дополнительных параметрах компиляции, где мы задали константу, поменять значение на LOG=True.

Таким образом, задавая значение константы компиляции и перекомпилируя проект, мы будем получать исполняемые файлы с нужной нам функциональностью.

Последнее изменениеВторник, 21 Ноябрь 2017 20:09 Прочитано 5148 раз

Поблагодарить автора:

Поделиться

Print Friendly, PDF & Email
Template Design © Joomla Templates | GavickPro. All rights reserved.