Active Template Library (ATL): Windows әзірлеу кітапханасы
Active Template Library
ATL кітапханасы: Microsoft-тың COM объектілерін жасауды жеңілдететін C++ үлгілері. ActiveX басқару элементтері, автоматтандыру серверлері үшін өте пайдалы.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Windows әзірлеу кітапханасы. Активті шаблон кітапханасы (ATL) – Microsoft компаниясы әзірлеген, шаблонға негізделген C++ сыныптарының жиынтығы. Ол Component Object Model (COM) объектілерін бағдарламалауды жеңілдетуге бағытталған. Microsoft Visual C++-тағы COM қолдауы, бағдарламашыларға әртүрлі COM объектілерін, OLE Автоматтандыру серверлерін және ActiveX басқару элементтерін жасауға мүмкіндік береді. ATL құрамына объектінің бастапқы құрылымын аз қолмен кодтаумен жылдам орнатуға мүмкіндік беретін объект шебері кіреді. COM клиенттік жағында ATL COM сілтемелерін есептеумен айналысатын интеллектуалды көрсеткіштерді ұсынады. Кітапхана ерекше қайталанатын шаблонды жиі пайдаланады.
Windows development library
The Active Template Library (ATL) is a set of template based C++ classes developed by Microsoft, intended to simplify the programming of Component Object Model (COM) objects. The COM support in Microsoft Visual C++ allows developers to create a variety of COM objects, OLE Automation servers, and ActiveX controls. ATL includes an object wizard that sets up primary structure of the objects quickly with a minimum of hand coding. On the COM client side ATL provides smart pointers that deal with COM reference counting. The library makes heavy use of the curiously recurring template pattern.
Тарих
COM объектілерін Microsoft Foundation Classes (MFC) арқылы да жасауға болады, бірақ бұл DLL қолдауын қажет ететін үлкен бинарлық файлдарға алып келеді. ATL болса, MFC-нің графикалық пайдаланушы интерфейсі бөліктері қажет емес жағдайларда, одан жеңіл балама болып табылады. ATL 7-ші нұсқасында (Visual Studio 2003), ол тікелей 3-ші нұсқаның (Visual Studio 6.0) жалғасы болғандықтан, CString сияқты бірқатар MFC кластары ATL-де қолжетімді болды, немесе дәлірек айтқанда, екі кітапханамен де ортақ ATLMFC қабатына көшірілді. ATL 7-ші нұсқасы сондай-ақ C++-та CLI атрибуттарына ұқсас мүмкіндіктерді ұсыну үшін атрибуттарды енгізді, бірақ олар аса сәтті болмады және ATL 8-ші нұсқасында (Visual Studio 2005) маңыздылығы азайтылды; түрлі шеберлер енді оларды әдепкі бойынша жасамайды. 7-ші нұсқада жаңа жол түрлендіру кластары да енгізілді. 2009 жылдың 28 шілдесінде Microsoft ATL-ге түзету шығарды, ол ATL арқылы жасалған ActiveX элементтерінің қашықтан кодты орындау қауіпсіздігіндегі осалдыққа ұшырауына мүмкіндік беретін қателікті жойды. Visual Studio 2013-тен бастап, Visual C++ 2013-тегі ATL коды статикалық болып, DLL қажеттілігін жояды.
COM objects can also be created with Microsoft Foundation Classes (MFC), but this leads to larger binaries that require support DLLs. ATL, on the other hand, is a more lightweight alternative in situations where the graphical user interface parts of MFC are not required. In ATL version 7 (Visual Studio 2003), which directly succeeded version 3 (Visual Studio 6.0), a number of MFC classes like CString were made available in ATL, or more precisely moved to an ATLMFC common layer which is shared by both libraries. ATL version 7 also introduced attributes in C++ in an attempt to provide something similar to CLI attributes, however these have not been particularly successful, and have been deemphasized in ATL version 8 (Visual Studio 2005); the various wizards no longer generate them by default. Version 7 also introduced new string conversion classes. On July 28, 2009, Microsoft released a patch to ATL to fix a bug that could allow ActiveX controls created using ATL to be vulnerable to a remote code execution security flaw. Since Visual Studio 2013, ATL code in Visual C++ 2013 is static, eliminating the DLL.