Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При условной компиляции определенные блоки кода в программе компилируются выборочно, а другие игнорируются.
Например, может потребоваться написать инструкции отладки, которые сравнивают скорость различных подходов к одной задаче программирования или может потребоваться локализовать приложение для нескольких языков. Операторы условной компиляции предназначены для выполнения в момент компиляции, а не в момент выполнения.
Вы обозначаете блоки кода, которые должны быть условно скомпилированы с помощью директивы #If...Then...#Else
. Например, чтобы создать версии одного и того же приложения на французском и немецком языках из одного исходного кода, вы внедряете сегменты кода для конкретной платформы в #If...Then
инструкции FrenchVersion
с помощью предопределенных констант и GermanVersion
. В следующем примере показано, как:
#If FrenchVersion Then
' <code specific to the French language version>.
#ElseIf GermanVersion Then
' <code specific to the German language version>.
#Else
' <code specific to other versions>.
#End If
Присвоив во время компиляции значение FrenchVersion
условной константе True
, будет скомпилирован условный код для французской версии. Если задать значение константы GermanVersion
True
, компилятор использует немецкую версию. Если ни один из них не установлен в True
, выполняется код в последнем блоке Else
.
Замечание
Автоматическая компиляция не будет функционировать при редактировании кода и использовании директив условной компиляции, если код не является частью текущей ветви.
Объявление констант условной компиляции
Константы условной компиляции можно задать одним из трех способов:
В конструкторе проектов
В командной строке при использовании компилятора командной строки
В вашем коде
Константы условной компиляции имеют специальную область и не могут быть доступны из стандартного кода. Область константы условной компиляции зависит от способа его установки. В следующей таблице перечислены области констант, объявленных с помощью каждого из трех способов, упомянутых выше.
Как устанавливается константа | Область константы |
---|---|
Конструктор проектов | Общедоступные для всех файлов в проекте |
Командная строка | Общедоступный для всех файлов, переданных компилятору командной строки |
#Const оператор в коде |
Локальный в пределах файла, в котором он объявлен |
Установка констант в конструкторе проектов |
---|
— Перед созданием исполняемого файла задайте константы в конструкторе проектов , выполнив действия, описанные в разделе "Управление свойствами проекта и решения". |
Установка констант в командной строке |
---|
— Используйте параметр -d для ввода констант условной компиляции, как показано в следующем примере:vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0 Между переключателем -d и первой константой не требуется пробела. Дополнительные сведения см. в разделе -define (Visual Basic). Объявления командной строки переопределяют объявления, введенные в конструкторе проектов, но не удаляют их. Аргументы, заданные в конструкторе проектов , остаются в силе для последующих компиляций. При написании констант в самом коде нет строгих правил для их размещения, так как их область является всем модулем, в котором они объявлены. |
Установка констант в коде |
---|
— поместите константы в блок объявления модуля, в котором они используются. Это помогает упорядочить код и упростить чтение. |
Связанные разделы
Название | Описание |
---|---|
Соглашения о структуре программы и коде | Предоставляет предложения для упрощения чтения и обслуживания кода. |