活动模板库

✍ dations ◷ 2025-12-02 10:36:47 #活动模板库

活动模板库(Active Template Library (ATL))是一个以C++模板技术的类的集合,是Microsoft为了简化组件对象模型(COM)的程序设计而发布的。 COM旨在允许开发者利用Visual C++创造各种各样的组件,包括OLE Automation服务器,与ActiveX控件。 Patterned after the Standard Template Library (STL), ATL 包含一个对象向导(object wizard),当设置好主要的对象结构后,能够产生快速与较小的程序。

通过MFC可以提供互联网市场所需的控件,但是市场上还需要可以从网络上下载的轻量级控件。MFC程序通常较大而且需要支持DLL。 ATL允许创建不需要支持DLL的更小的控件,所以ATL是一种在COM控件环境下MFC的轻量级替代物。

ATL定义三个宏来来影响生成的COM服务器的优化。

Debug配置没有定义上述三个符号宏。Release MinSize配置定义了_ATL_MIN_CRT和_ATL_DLL。Release MinDependency配置定义了_ATL_MIN_CRT和_ATL_STATIC_REGISTRY。

ATL包含了许多RAII类以简化对COM类型的管理。常用的有:

虽然不是ATL的正式组成部分,Microsoft Visual C++包含额外的C++ RAII类以简化对COM类型的管理,可替代或配合ATL中对应的部分:

注意从Visual Studio 2012起,编译器COM支持类不再包含SAFEARRAY包装器。

相关

  • 没有军队的国家一览没有军队的国家,是指没有武装部队的国家(主权国家),不包括境外领土,上述地方的国防由其他国家负责或以特定方式取代军事。此处的“武装部队”是指任何由政府主导的防御组织,用以推
  • centrohelidRaphidiophryidae Acanthocystidae Heterophryidae中阳虫门(Centrohelid或Centroheliozoa)是一类原生生物,包括一些固着生活和游动生活的类群,在淡水与海水中都有发现,但主要生活
  • 二氟化硫二氟化硫是一种硫的卤化物,化学式为SF2。它可由二氯化硫与氟化钾或氟化汞在低压在反应制得:二氟化硫分子中键角为98°,键长为159pm。这种化合物十分不稳定,会二聚成为FSSF3。它
  • 亚胺亚胺是一种含碳-氮双键的官能团或有机化合物,通式为:R1R2C=NR3,其中氮原子连接一个氢原子(H)或一个有机基团(R3),碳原子则与另两个基团以单键连接。亚胺可视为醛或酮中氧原子被NR基团
  • 西色雷斯西色雷斯(希腊语: Θράκη;土耳其语:Batı Trakya;保加利亚语:Западна Тракия)是希腊的传统地理划分之一,位于奈斯托斯河和马里查河之间,包括了希腊东北部。色雷斯除
  • 伊拉里奥·迪博伊拉里奥·迪博(意大利语:Ilario Di Buò,1965年12月13日-)生于的里雅斯特,是一名意大利射箭运动员,前世界排名第一。曾参加1984年、1988年、1992年、2000年、2004年和2008年六届奥
  • 哈佛燕京学社哈佛燕京学社(Harvard-Yenching Institute),于1928年春由美国铝业公司创始人查尔斯·马丁·霍尔(1863-1914)的遗产基金资助创办。当时,北京的燕京大学校长司徒雷登了解到霍尔在遗嘱
  • 盖吴盖吴(417年-446年),卢水胡人,北魏太武帝时西北各族起事事件盖吴起义的领袖。太平真君六年(445年)九月,盖吴在杏城(今陕西省黄陵县)起义,在诸胡响应下部众达至十万,又遣使向南朝宋称臣归
  • 灭霸灭霸(英语:Thanos),美国漫威漫画创造的虚拟漫画角色,是一名超级反派角色。由漫画家吉姆·史塔林(英语:Jim Starlin)所创造,首次登场于《钢铁侠》(Iron Man)#55(1973年二月)。其名字源自于
  • 相柳相柳,是中国古代传说中的蛇妖。相柳见载于《山海经·海外北经》中,其文为:“共工之臣曰相柳氏,九首,以食于九山。相柳之所抵,厥为泽溪。禹杀相柳,其血腥,不可以树五谷种。禹厥之,三仞