Атрибуты C++. Резюме.
Добавлять атрибуты в исходный код можно вручную. Однако полезно будет увидеть, как атрибуты вставляются в проект, генерируемый Мастером приложений библиотеки шаблонных классов (ATL) на основе модели компонентных объектов Microsoft (COM) (ATL COM Application Wizard), который является высокопроизводительным инструментальным средством, предназначенным для создания компонентов на основе модели компонентных объектов Microsoft (COM). На рис. 3.4 показано, как разрешить использование атрибутов в мастере приложений библиотеки шаблонных классов (ATL) на основе модели компонентных объектов Microsoft (COM) (ATL COM Application Wizard).
Рис. 3.4. Окно ATL Project Wizard (Мастер проектов на основе библиотеки шаблонных классов (ATL)) с установленным флажком Attributed
Следующий фрагмент кода взят из файла MyATLProject, созданного Мастером проектов на основе библиотеки шаблонных классов (ATL) (ATL Project Wizard) при установленном флажке Attributed. Обратите внимание, что атрибут module (модуль) применен к проекту в целом, благодаря чему в проекте автоматически генерируются функции DllMain, DllRegisterServer и DllUnregisterServer.
// MyATLProject.срр: Реализация экспорта динамически // подключаемой библиотеки (DLL). #include "stdafx.h" #include "resource.h" // Атрибут module (модуль) вызывает автоматическую генерацию // DllMain, DllRegisterServer и DllUnregisterServer [ module(dll, uuid = "{50434D6D-AAEA-405C-AC49-B9CA769E5D6D}", // модуль name = "MyATLProject", // название helpstring = "MyATLProject 1.0 Type Library", // Библиотеки Типа resource_name = "IDR_MYATLPROJECT") ];
На рис 3 5 показано использование Мастера простых объектов на основе библиотеки шаблонных классов (ATL) (ATL Simple Object Wizard) для добавления к проекту простого класса на основе модели компонентных объектов Microsoft (COM), называющегося MyATLClass.
Рис. 3.5. ATL Simple Object Wizard (Мастер простых объектов на основе библиотеки шаблонных классов (ATL))