Поделиться через


Основные принципы работы атрибутов

3 Способа вставки атрибутов в проект. Во-первых, можно вставить их вручную в свой исходный код. Во-вторых, можно вставить их с помощью таблицы свойств объекта в проект. Наконец, можно вставить их с использованием различных мастера. Дополнительные сведения об использовании окна свойства и различных мастеров см. в разделе Создание и управление проектами Visual C++.

Начиная с Visual C++ .NET, компилятор распознает наличие атрибутов в файле источника и может динамически синтаксический анализ и проверять их во время компиляции.

Как и раньше, когда проект построен, компилятор анализирует каждый исходный файл C++, создавая объектный файл. Однако если компилятор встречает атрибут, синтаксически синтаксический анализ и подтвержен. Компилятор затем динамически вызывает поставщика атрибутов для вставки кода или выполнять другие изменения во время компиляции. Реализация поставщика различаются в зависимости от типа атрибута. Например, Библиотека ATL-родственные атрибуты реализуются Atlprov.dll.

На следующей диаграмме показана связь между компилятором и поставщиком атрибута.

Взаимодействие атрибутов компонентов

Примечание

Потребление атрибута не изменяет содержимое исходного файла.Единственный случай созданный код атрибута является видимым во время сеансов отладки.Кроме того, для каждого исходного файла в проекте, можно создать текстовый файл, показывающий результаты замены атрибута.Дополнительные сведения об этой процедуре см. в разделе /Fx (код введенного слиянием) и Отладка введенного кода.

Как и большинство конструкций C++, атрибуты имеют набор характеристик, который определяет их правильное потребление. Это называется контекст атрибута и адрес в таблице контекста атрибута для каждой справочные материалы атрибута. Например, CoClass атрибут может быть применен только к существующему классу или структуре, в противоположность cpp_quote атрибут, который можно вставить в любом месте исходный файл НА языке C++.

См. также

Другие ресурсы

Основные понятия атрибутивного программирования