COM、MFC、ATL和CLR的区别

jidakuner 2013-01-07 04:33:30
这几个的区别很多网上都将了,但是还是不能解决我的问题;
我想知道,这几个的关系,而不是各自的定义。
我是很菜很菜的菜鸟,基本不懂windows编程,大侠们,能不能用层次关系或者其他关系描述一下这个几个的不同和相同。

PS:顺便问一下,visual studio和 .net framework之间的关系啊,
...全文
1203 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kelvin_wangning 2015-09-10
  • 打赏
  • 举报
回复
下面的回复真不错。!
oldmanzhao 2013-03-14
  • 打赏
  • 举报
回复
MFC说白了是一个应用程序界面框架,属于第二代界面体系。ATL是一个模版库,主要用来写COM的,当然也有UI支持,COM是组件技术,二进制级别的软件复用,拿它跟OOP比较更合适。VS是个IDE,开发工具,就像修电视要有螺丝刀,开发也要有IDE。 CLR其实是COM的延伸,是微软看到Java红火之后推出的一种与之相抗衡的技术。
一缕茶香 2013-03-14
  • 打赏
  • 举报
回复
CLR,全称为 common language runtime,即公共语言运行时。什么是运行时呢?看来这又是微软发明的一个新名词!vc6开发的程序发布在一个没有安装过vc6的电脑上,同样可以运行,但需要有一个动态库DLL来支持,这个动态库就是运行时。VF9开发的程序在发布时同样有几个必不可少的动态库,也是运行时。公共语言运行时,顾名思义,是几种语言公同的运行时,在VS中,就是vb.net,vc.net,c#等的共同运行时。CLR是.net框架下的一个概念。 MFC,ATL,COM则可认为与.net框架没什么关系。因为MFC在vc中主要做非托管编程用。MFC,与ATL是两个不同的框架。所谓框架,可以理解为一种通用的固定的模式,再想不同就先理解为两个有着不同功能的C++类库。 com,全称component object model,即组件对象模型。是一种规范,有好多开发工具,如PB,vf,vc只要遵守此规范,就可开发出语言间通用的com组件。
王林森 2013-03-03
  • 打赏
  • 举报
回复
引用 5 楼 xianglitian 的回复:
com是一种思想 MFC和ATL都是框架 CLR是.net环境下的托管C++
说的好,不过补充一下,先有的OLE,后来大家总结出了COM的思想。 楼主是不是还要去问下OLE呢?
向立天 2013-01-08
  • 打赏
  • 举报
回复
com是一种思想 MFC和ATL都是框架 CLR是.net环境下的托管C++
pxchi 2013-01-08
  • 打赏
  • 举报
回复
COM、MFC、ATL和CLR CLR是一种给各种语言提供运行时,类似于jvm,给.net 平台内的提供运行基础.去理解一下其中一个重要的概念叫IL(中间语言), 你就大概明白runtime是做什么的了。.net framework 是个框架内使用clr来提供运行时 visual studio 是IDE。从名字上来理解,集成开发工具,就是继承了编辑器,编译器,运行部署,容器等一系列的工具。开发时来用的。 至于MFC 和 ATL 比较类似,可以理解为为软开发的类库,c/c++中可以调用他,而他门又不仅现如此,还提供了开发框架等等。 com是一种思想或者标准,使用MFC 和ATL都可以实现这种思想或者标准。
看不见的裂痕 2013-01-07
  • 打赏
  • 举报
回复
CLR是.NETFRAMEWORK出现之后才出来的,托管C++,之前的C++诸如内存管理之类的都要自己控制CLR这种托管方式。系统会自动保证内存释放。 visual studio是工具,写代码,编译,测试,性能分析等等的工具,功能非常强大 .net framework,MFC,ATL可以都认为是框架。就是别人事先都做了大量工作,你只要简单的调用就能实现你想做的一部分事情。
jidakuner 2013-01-07
  • 打赏
  • 举报
回复
引用 2 楼 xianglitian 的回复:
如果定义你真的理解了就不会再有疑问了 如果还没有深入理解可以在今后的学习过程中一点点的深入 你这个问题就好像问男人、女人、猴子、石头有什么区别和联系 然后你说你知道男人、女人、猴子、石头分别是什么 就是想问问相同点和不同点 这个确实不太好回答
我就是对这些定义理解的不清楚,找不到他们的明确的区别和联系,所以才求助啊
向立天 2013-01-07
  • 打赏
  • 举报
回复
如果定义你真的理解了就不会再有疑问了 如果还没有深入理解可以在今后的学习过程中一点点的深入 你这个问题就好像问男人、女人、猴子、石头有什么区别和联系 然后你说你知道男人、女人、猴子、石头分别是什么 就是想问问相同点和不同点 这个确实不太好回答
  • 打赏
  • 举报
回复
mfc和atl都可以写com。

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧