ATL - это библиотека Microsoft C ++, которая в основном реализует базу COM. Часть этого также нацелена на элементы управления ActiveX (что определенно не является основной целью всей библиотеки), а также охватывает связанные вещи, такие как тонкая оболочка HWND
(CWindow
класс), классы манипулирования строками CString
, CStringA
, CStringW
, преобразование ANSI / Unicode и т. Д.
Часть ATL была разветвлена в библиотеку с открытым исходным кодом Сервер ATL , размещенную на CodePlex. Вы все еще можете найти документацию для этого на MSDN, выбрав версию ATL назад к версиям Visual Studio 2002/2003/2005. В основном это касается веб-разработки, IIS, а также таких вещей, как регулярные выражения.
WTL изначально предполагалось использовать с ATL и охватывает аспекты, связанные с GUI, такие как тонкие обертки над общими элементами управления, объект GDI, структура графического интерфейса приложения, модель кадра / видео, пользовательские элементы управления. Он предоставил класс CString
до того, как ATL начал это делать, и это одна из вещей, где две библиотеки перекрываются. После того, как WTL открыл исходный код и Microsoft предоставила бесплатную версию Visual Studio, WTL также был обновлен для использования без ATL, чтобы было полезно создавать приложения с использованием только бесплатных инструментов.