库、框架、架构、平台的区别

库library

库是将代码集合成的一个产品,供程序员调用,面向对象的代码组织形式而成的库也叫类库(class library)。面向过程的代码组织形式而成的库也叫函数库(Library function)。

库也可以称作 部件 、工具箱,提供各种功能给开发者使用。

分为静态链接库(.lib/.a)和动态链接库Dynamic Link Library(.DLL)

静态链接库:是因为静态库在编译的时候会被直接拷贝一份,复制到目标程序里,这段代码在目标程序里就不会再改变了。特别是windows系统中本来就有或很多程序运行都需要的函数完全没有必要每次开发程序时都要使用各自的静态库。

静态链接库有点:

1、编译完成之后,库文件实际上就没有作用了。目标程序没有外部依赖,直接就可以运行。
2、代码装载速度快,执行速度略比动态链接库快。

静态链接库缺点:

1、会使用目标程序的体积增大。
2、包含相同的公共代码,造成内存浪费,扩展性较差。

 

 框架

框架(Framework)一个框子——指其约束性,也是一个架子——指其支撑性。 IT语境中的框架,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。 在此结构上可以根据具体问题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。框架是为解决一类问题而构建完整方案
.net Framework ,.net Core ,mono,xamarin 这些都是dotnet平台下面的的框架。

 

动态链接库

动态链接库(Windows 下的*.dll, Linux & Mac 下的 .dylib)。与静态库相反,动态库在编译时并不会被拷贝到目标程序中,目标程序中只会存储指向动态库的引用。等到程序运行时,动态库才会被真正加载进内存。

 

态链接库优点:

1、不需要拷贝到目标程序中,不会影响目标程序的体积,而且同一份库可以被多个程序使用(因为这个原因,动态库也被称作共享库)。同时,编译时才载入的特性,也可以让我们随时对库进行替换,而不需要重新编译代码。
2、更加节省内存并减少页面交换。
3、可维护性和可扩展性高。
4、适用于大规模的软件开发,使开发过程独立、耦合度小,便于不同开发者和开发组织之间进行开发和测试。

动态链接库缺点:

1、动态载入会带来一部分性能损失,使用动态库也会使得程序依赖于外部环境。
2、如果环境缺少动态库或者库的版本不正确,就会导致程序无法运行(Linux 下喜闻乐见的 lib not found 错误)。

动态库特点总结:

 

 

平台

一种依托互联网技术搭建的,为供需双方或产业链多方用户提供互动交流、完成在线交易过程的web网站。平台的核心是理念。

操作系统是一个平台:为了实行人机交互

滴滴、淘宝是平台:为顾客和卖家提供交易

.net 是平台:对于程序员来说一个开源、跨语言、可开发多种类型程序的开发平台,对于程序来说.net为跨操作系统、跨硬件的一个运行平台。

 

posted @ 2021-08-22 01:56  小林野夫  阅读(637)  评论(0编辑  收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/