Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте следующие рекомендации при написании директив препроцессора GDL:
Чтобы предотвратить непредвиденные последствия, авторы файлов GDL должны соблюдать следующие рекомендации при определении символов и префиксов препроцессора.
Никогда не отменяйте никаких символов, которые не были явно определены в файле, и перед завершением файла всегда отменяйте все символы, определенные в файле. Другими словами, всегда оставляйте стеки символов и префиксов в том состоянии, в котором вы их обнаружили. Если следовать этому руководству, никогда не будет конфликтов пространств имен, связанных с препроцессором.
Интерфейс синтаксического анализа GDL позволит клиенту внедрить фрагмент текста GDL произвольного размера, который будет обработан перед корневым GDL-файлом. Эта возможность позволит клиентам определять любые символы препроцессора, необходимые для обработки соответствующих разделов GDL-файла. Этот фрагмент может включать другие стандартные шаблоны GDL или определять стандартные макросы.
Заметка Если файл включен в строку, все символы препроцессора и префиксы, определенные в узле, остаются определенными во время предварительной обработки включенного файла. При обработке файла в виде предварительной компиляции создается совершенно новая среда синтаксического анализа. Таким образом, все символы и префиксы возвращаются в значения по умолчанию. Файлы, которые будут обрабатываться в виде предварительной компиляции, не должны иметь зависимостей от символов препроцессора, определенных внешними или хост-файлами.
Заметка Директивы и макросы препроцессора не влияют на конструкции switch/case, так как директивы оцениваются отдельно перед любыми конструкциями switch/case.
Логические операторы не поддерживаются в директивах препроцессора GDL. Дополнительные сведения об устранении этой ситуации см. в разделе "Проблемы с логическими операторами" в предварительной обработке GDL.