com ,clr,asp,.net,mfc,atl

原创 2014年05月05日 23:56:08

COM 组件对象模型 Component Object Model。

组件是一些小的二进制可执行程序,有exe,dll,ocx等,使用组件对象模型方法的目的是将一些代码 如面向对象的编程一样 将其提取出来,作为一个代码集,为多个程序调用,将大型复杂的程序分解成多个组件方便设计与维护,并且独立与程序,可以更加方便的进行修改,提高代码的重用与健壮。自定义开放组件如自定义开发 面向对象的API一样的效果。

Windows在com之前已有dll,为什么还要com。 因为 com是使用面向对象的方法编写的,具有封装,继承和多态,但组件不是一个对象而是可能包含多个类,而dll只有封装。dll是针对c接口编写的,只能由c或者理解C调用规范的语义来使用,由编程语言来实现共享代码,而并不是用dll本身。为了使组件更加独立,且能够支持分布式调用,便开发了com,com规定了组件在内存中的储存组织,使任何编程语言都可以读取这些组件中的二进制代码,使其可为所有编程语言使用,达到类似java语言的效果。

com的历史,一开始有个ole,然后发展ole有了com,之后对com进行扩展有了ActiveX.。


CLR  公共语言运行时 Common language Runtime

和java虚拟机一样,为一个运行时环境,负责内存分配和垃圾收集,并保证应用与底层操作系统之间必要的分离。
CLR的核心功能包括:内存管理、程序集加载、安全性、异常处理和线程同步,可由面向CLR的所有语言使用。并保证应用和底层操作系统之间必要的分离。CLR是.NET Framework的主要执行引擎。为了提高平台的可靠性,以及为了达到面向事务的电子商务应用所要求的稳定性级别,CLR还要负责其他一些任务,比如监视程序的运行。按照.NET的说法,在CLR监视之下运行的程序属于“托管的”(managed)代码,而不在CLR之下、直接在裸机上运行的应用或者组件属于“非托管的”(unmanaged)的代码。


asp 动态服务器页面 Active Server Pages

asp是一种服务器端脚本编写环境,用来创建和运行动态网页或web应用程序。asp网页可以包含html标记,普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。ASP使用VBScript或者JScript脚本完成编程,而这两种脚本本身能力非常有限,虽然组件可以使用,但面向过程的编程使大型网站难以实现,然后有了asp.net
动态网络语言有三种ASP(VBscript或javascript),JSP(JavaServer Pages),PHP (Hypertext Preprocessor),ASP采用脚本语言VBScript(Java script)作为自己的开发语言。


asp.net

ASP .NET的前身ASP技术,ASP.NET[是.NET FrameWork的一部分,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。
asp是解释性编程框架,而asp.net是编译性框架,asp.net无论是从执行效率和安全上都远远超过asp,而文件上也是有差异的asp的后缀是.asp 而asp.net则是 .aspx和.aspx.cs ,asp.net实现了代码分离。


.NET

.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。
.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。XML是新一代的程序之间通讯的途径一样,Web Services是新一代的计算机与计算机之间一种通用的数据传输格式。
。net应用指的就是C#应用。。。

.NET Framework

Microsoft .NET Framework是用于Windows的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。.NET Framework安全解决方案基于管理代码的概念,以及由通用语言运行时(CLR)加强的安全规则。大部分管理代码需要进行验证以确保类型安全及预先定义好的其它属性的行为的安全。例如,在验证的代码中,声明为接收4字节值的访问将拒绝提供8字节参数的调用,因为不是类型安全的。验证过程还确保了执行流只传送到已知的位置,如方法入口点--这个过程去除了跳转到任意位置执行的能力。


ATL 活动模板库 Active Template Library

是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。通过活动模板库,可以建立COM组件,然后通过ASP页面中的脚本对COM对象进行调用。这种COM组件可以包含属性页、对话框等等控件。
ATL是ActiveX Template Library 的缩写,它是一套C++模板库。使用ATL能够快速地开发出高效、简洁的代码(Effective and Slim code),同时对COM组件的开发提供最大限度的代码自动生成以及可视化支持。ATL就是vs中更方便的构造com组件的方式。

mfc 微软基础类库 Microsoft Foundation Classes

微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。 MFC除了是一个类库以外,还是一个框架,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率但是MFC的封装很浅,所以效率上损失不大,灵活性还可以,虽然也有很多缺陷,但还是一个比较好的东西。
MFC中最重要的封装是对Win32 API的封装。


Visual Studio中 ATL CLR MFC Win32 区别

ATL用于编写COM程序, CLR是.NET的公共语言运行库, MFC是指MFC类库,MFC程序是用这些类库做出的程序, WIN32常规就是不用MFC,使用API函数编的程序。  MFC、ATL和CL...
  • kobesdu
  • kobesdu
  • 2014年12月19日 10:01
  • 2272

ATL CLR MFC Win32 常规 的区别--sdk与api的区别

ATL CLR MFCWin32 常规 的区别 win32,mfc,clr这些控制台应用程序有什么区别啊?     clr是.NET的程序 mfc就是把win32...
  • y601500359
  • y601500359
  • 2016年03月25日 12:11
  • 784

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

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

创建ATL工程及使用MFC测试COM组件

一、创建ATL工程 1、创建ATL项目,取名为MyATL 2、在ATL项目向导中,勾选【支持MFC】(利用MFC测试用)、【支持 COM+ 1.0】和【支持部件注册器】,其余的选项默认,点击完...
  • jiangqin115
  • jiangqin115
  • 2015年09月06日 17:47
  • 815

.NET 本质论 读书笔记 - COM 与CLR

COM 全称Component Object Mode 组件对象模型。很庆幸刚入行软件开发的时候没有去写COM组件,也很遗憾没有去做一些底层的事情。一开始接触.NET的时候就被灌输一个模糊的理念,.N...
  • ifreely0204
  • ifreely0204
  • 2010年11月03日 14:01
  • 950

COM, CLR, WPF, WinRT 为什么整这么多些个

出处 :  http://kb.cnblogs.com/page/126527/ 从 Windows 8 回顾微软平台的各种技术     我安装好Win8 CTP后做的第一件事情就是用调试器研...
  • tmeteor
  • tmeteor
  • 2013年07月12日 16:31
  • 3794

ATL入门:利用ATL编写简单的COM组件

序论       第一步:运行ATL COM Wizard         运行Visual C++ 并创建一个新的工程,选择“ATL COM AppWizard”,项目名称为”Simple_ATL”...
  • zhwang_1999
  • zhwang_1999
  • 2008年03月26日 23:35
  • 5803

COM组件开发(六)——使用ATL开发COM组件

使用ATL开发COM组件           使用ATL开发COM组件之前,要对几个重要的类进行说明:           CComModule           这是ATL的中心模块类,它的...
  • q5806622
  • q5806622
  • 2015年02月27日 10:10
  • 2307

用ATL编写COM并调用

1 新建ATL工程 2 添加一个Class Visual C++ -> ATL -> COM 命名为TestClass 3 用ClassView添加函数Func1,(不是在Test...
  • lxbwolf
  • lxbwolf
  • 2016年05月09日 18:23
  • 212

OLE、ActiveX、COM、ATL联系与区别

熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(Co...
  • lp310018931
  • lp310018931
  • 2015年09月19日 18:09
  • 1062
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:com ,clr,asp,.net,mfc,atl
举报原因:
原因补充:

(最多只允许输入30个字)