从VS2008的What' new 来看,VS2008已经不在支持ATL属性编程.相关描述见下:

The ATL Project wizard no longer provides an option to create attributed ATL projects.

Beginning with Visual Studio 2008, the ATL Project wizard does not have an option to change the attributed status of a new project. All new ATL projects that the wizard creates are now unattributed.

原因呢,搜了一下网上的文章

If you open an attributed project in a wizard, the box will be checked, but
it will still be disabled.  There is obviously some reason the ATL Devs
decided to deprecate attributed ATL in this version.  We are trying to
contact Dev team for confirmation on this.
Anyway based on the template source, it is true that attributed ATL is
deprecated, so we recommend that you use non-attributed COM projects in
VS2008.
已经说的很明白了,从vs2008开始,属性编程渐渐被废弃掉了,微软ATL团队并不推荐用属性编程来进行COM开发.
This is the text from MSDN comment: "According to the book ATL Internals (2ed) the use of attributes isdeprecated and should not be used in new ATL projects."
看来属性编程的问题不少.

In ATL these attributes were a compiler trick. They were not a core part of the platform like attributes in C#. They were also more confusing to debug than macros's and the method of dumping generated attribute code was a hassle.

I suspect another issue is likely to have been C++ compiler compatibility and standards-adherence. Attributes didn't make for more beautiful C++ code, and perhaps this syntax may be used in a future version of a real C++ standard.

Appendix D of the book goes into this.

Attributed ATL requires compiler extensions, and the problems encountered include

  • debugging either code generated by the attribute or the interaction between the attribute and your code
  • no control over the code generated
  • bugs, especially around connection points

这里原因已经讲到很明白了.自己看去吧.

VS2008 不在支持 Attributed ATL相关推荐

  1. [转]在VS2008上安装WTL8.1时碰到的一些问题

    今天下午偶然发现WTL在09年5月份是发布了8.1版本,支持VS2008. 于是下载安装,发现使用向导创建WTL Mobile失败.解决方法如下: 以全文转自:http://www.cppblog.c ...

  2. C++ STL,ATL,WTL之间的联系和区别

    STL即 Standard Template Library (标准模板库) STL是惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R M ...

  3. 什么是ATL? (与COM的关系,及MFC与COM的关系)

    什么是ATL (与COM的关系,及MFC与COM的关系) 自从1993年Microsoft首次公布了COM技术以后,Windows平台上的开发模式发生了巨大的变化,以COM为基础的一系列软件组件化技术 ...

  4. STL,ATL,WTL之间的联系和区别

     STL即 Standard Template Library (标准模板库) STL是惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David ...

  5. VC++ ATL 学习总结

    ATL (一种微软程序库) ATL,Active Template Library活动模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序.通过活动模板 库,可以建立C ...

  6. [COM/ATL]组件、对象、MFC、ATL的区别

    组件(Component)和对象(Object)之间的区别 先明确组件(Component)和对象(Object)之间的区别.组件是一个可重用的模块,它是由一 组处理过程.数据封装和用户接口组成的业务 ...

  7. ATL学习笔记〔一〕

    ATL 即活动模板库,是一套基于模板的 C++ 类,使用这些类可以容易地创建小型.快速的组件对象模型 (COM) 对象.它具有对主要 COM 功能的特殊支持,包括:IUnknown.IClassFac ...

  8. VS2008+VP5开发环境配置

    一.主要的变化 1.安装目录的变化,默认为:C:\Presagis: 2.库名及其版本的变化: 3.环境变量的变化: $(PRESAGIS_VEGA_PRIME_RESOURCE_5) $(PRESA ...

  9. ATL之深入浅出书评(潘爱民)

    ATL之深入浅出 介绍一本关于ATL的书<ATL Internals> 潘爱民,5月7日,2000年 北京大学计算机研究所,100871 引言 面对计算机图书市场的繁荣景象,我经常感叹今天 ...

最新文章

  1. 附下载|Python带你实践机器学习圣经PRML
  2. 操作系统学习:内存分页与中断
  3. 查看Oracle数据库SQL执行历史
  4. GET和POST两种基本请求方法的区别(截取自https://www.cnblogs.com/logsharing/p/8448446.html)
  5. NOCOUNT如何影响ADO.NET(SET NOCOUNT ON的性能问题)
  6. 0705 - 说说 NSPopover 的一个坑
  7. boost::hana::default_用法的测试程序
  8. 【转】Azure Messaging-ServiceBus Messaging消息队列技术系列2-编程SDK入门
  9. Cygwin Application initialization failed: no display name and no $DISPLAY environment
  10. php常用的的字符串转换
  11. MySQL服务器安装完之后如何调节性能
  12. 4-2 数据模型的生成
  13. pytorch---在训练中动态的调整学习率
  14. 写一个模拟彩票中奖的程序及彩票分析
  15. STM32 硬件I2C读写AT24C02/08
  16. CentOS 7 安装Dukto(局域网通信工具)
  17. 一文搞懂函数计算及其工作原理
  18. 先分号分隔 然后逗号分割c语言,分隔符的用法
  19. java itext pdf 添加页码
  20. 谈谈Linux中Redis的薪火相传与反客为主及如何实现

热门文章

  1. sharepoint页面嵌入_Part 1: 如何把Power BI 嵌入到sharepoint 网站
  2. python:绘制GAM非线性回归散点图和拟合曲线
  3. pandas-groupby分组操作
  4. uniapp发布app生成证书
  5. 软件保护工具VMProtect将许可系统集成到应用程序(6)——限制免费升级期限
  6. 7.opengl-向量总结
  7. 使用污点分析检查log4j问题
  8. vue3数字滚动动画
  9. 中云融信 SNS携手云计算将解决数据之殇
  10. 有关代购系统搭建的那点事