无库(exe)->SLL(.lib)->DLL(.dll)->COM(.dll)->OLE Control eXtention(.ocx)->ActiveX Control(.ocx)

脑袋快糨糊了,停下来,理理头绪。标题是今天早上到目前为止一直试图理清楚的概念,加上顺序和箭头表示这是windows组件化软件开发的发展进化道路。详细一点:
无库(exe)->SLL(.lib)->DLL(.dll)->COM(.dll)->OLE Control eXtention(.ocx)->ActiveX Control(.ocx)

1.SLL(Static Link Library)和DLL(Dynamic Link Library)静动态链接库,区别是静态库是整个要在编译时就导入调用程序,运行时无需SLL了,DLL可以编译时就导入(例如,import ADO.dll),也开以在运行时静态加载,或者动态加载和释放,升级时更换DLL完全不会影响主调程序运行,只要维持原游接口不变。
DLL是组件化的开始,它使应用程序更加灵活了。

2.COM 组件对象模型是二进制层次上(不分开发语言)组件规范和标准,组件对象模型(COM)将DLL概念扩充到了面向对象编程。对象能够从另外一个进程调用或者 在另外一台机器上运行。COM对象有一个唯一的GUID并且能够实现强大的后台以简化如Visual Basic和ASP这样的GUI前台应用。早期COM的实现也是一个DLL文件,不过库的内容是符合COM规范的接口和对象,而不再是任意的函数,类或变 量常量,与传统DLL不同的是,作为COM服务器DLL需要将GUID和Path记录在操作系统注册表中,客户应用程序则通过GUID创建对象获取接口调 用服务。
从COM开始,组件开始跨平台跨语言跨进程跨机器,完全面向对象。

3.COM is the foundation technology for Microsoft's OLE (compound documents) and ActiveX(Internet-enabled components) technologies。OLE Control eXtension-OCX是基于标准COM接口来实现的OLE(对象连接与嵌入)组件,开发时需要实现的接口也更加庞大了,OCX的典型应用时MS Studio里的那些UI控件。
OCX在COM组件的基础上增加了更多功能特点,组件开始具备UI界面,持续属性,事件和方法,可以向容器通知自定义事件。

4. OLE Control96是ActiveX控件的基础,OC96规范的特点是让OCX控件尺寸变小,速度更快,它还可使控件可以没有窗口句柄而存在,是自定义控 件历史上第一次出现无窗口控件,可以说ActiveX是小巧的面向Internet Explorer技术的OCX控件,ActiveX控件典型应用是浏览器插件,flash player之类的,是Active X控件使Web页面播放音频视频成为可能。

组件开发常用MFC/ATL,组件开发是下半年学习的重点了,开发上有这些库和VStudio大多简单,但原理上越来越复杂,架子越来越大了,考虑因素越来越多了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值