Активная библиотека шаблонов

редактировать
Библиотека активных шаблонов
Разработчик (и) Microsoft
Написано наC ++
Операционная система Microsoft Windows
Тип Библиотека или framework
Лицензия Собственная

Библиотека активных шаблонов (ATL) - это набор классов C ++ на основе шаблонов, разработанных Microsoft, предназначенный для упрощения программирования объектов модели компонентных объектов (COM). Поддержка COM в Microsoft Visual C ++ позволяет разработчикам создавать различные COM-объекты, серверы OLE Automation и элементы управления ActiveX. ATL включает в себя мастер объектов, который быстро устанавливает первичную структуру объектов с минимумом ручного кодирования. На стороне клиента COM ATL предоставляет интеллектуальные указатели, которые имеют дело с подсчетом ссылок COM. Библиотека интенсивно использует необычно повторяющийся шаблон шаблона.

Содержание

  • 1 История
  • 2 Поддерживаемые классы
  • 3 Поддержка COM компилятора
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки

История

COM-объекты также могут быть созданы с помощью Microsoft Foundation Classes (MFC), но это приводит к большим двоичным файлам, которые требуют поддержки DLL. ATL, с другой стороны, является более легкой альтернативой в ситуациях, когда части графического пользовательского интерфейса MFC не требуются.

В ATL версии 7 (Visual Studio 2003), которая непосредственно пришла на смену версии 3 (Visual Studio 6.0) ряд классов MFC, таких как CString, стал доступным в ATL или, точнее, перемещен на общий уровень ATLMFC, который используется обеими библиотеками. ATL версии 7 также представил атрибуты в C ++ в попытке предоставить что-то похожее на атрибуты CLI, однако они не принесли особого успеха и были недооценены в ATL версии 8 (Visual Studio 2005); различные мастера больше не генерируют их по умолчанию. Версия 7 также представила новые классы преобразования строк.

28 июля 2009 г. Microsoft выпустила патч для ATL, чтобы исправить ошибку, которая может сделать элементы управления ActiveX, созданные с использованием ATL, уязвимыми для уязвимости удаленного выполнения кода.

Начиная с Visual Studio 2013, код ATL в Visual C ++ 2013 является статическим, что исключает DLL.

Классы поддержки

ATL включает множество классов RAII для упрощения управления COM-типы. Наиболее часто используемые классы:

  • CComPtrуниверсальный интеллектуальный указатель,
  • CComBSTRоболочка BSTR,
  • оболочка CComVariantVARIANT и
  • CComSafeArray Оболочка SAFEARRAY.

Поддержка COM компилятора

Хотя формально не является частью ATL, Microsoft Visual C ++ также включает дополнительные классы C ++ RAII для упрощения управления типами COM. Эти классы поддержки COM компилятора могут использоваться в качестве замены или в сочетании с ATL и включают:

  • _com_ptr_tинтеллектуальный указатель, который украшает имя интерфейса COM суффиксом «Ptr»,
  • _bstr_tОболочка BSTR, оболочка
  • _variant_tVARIANT и
  • _com_errorоболочка HRESULT.

Обратите внимание, что начиная с Visual Studio 2012 классы поддержки COM компилятора не включают оболочку SAFEARRAY.

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-08 22:09:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте