“库”一般都是和陵脊为了某个特殊目的开发的。打个比方,一双鞋子是怎么造出来的?有的人专门生产鞋带,有的造鞋底,有的汪如做布料,还有的专门设计商标,或许还有一些人设计包装盒,如果你能获得这些东西,你就可以把他们组合起来,然后加入你自己的设计,做一双你自己的鞋子。但是,布料不仅仅可以用来做鞋子,同理,商标也可以用来印刷广告,而不仅仅是贴在鞋子上,包装盒可以不用来装鞋子,而是包装其它东西。用相同的原料,你做出了一双鞋子,别人有可能做出了一条裤子。
这就是“库”,很多程序都用了相同的“库”,但是开发出唤渗了完全不一样的程序,使用“库”,可以避免重新编写别人已经开发出来的程序,把这些“库”加到你自己的程序中,可以节省很多时间,同时保证了稳定性,因为大家都用这些“库”,大部分毛病早就被挑光了,而你自己再重新写一个程序有可能漏洞百出,又花了时间,得不偿失。
有些“库”是可以增强功能的,而有些“库”则是完成你的程序必须的。前者比如说最经典的C语言,引入stdio.h头文件,就引入了“库”中的一个功能:你可以使用printf函数了;后者比如说Windows编程中的windows.h头文件,几乎所有Windows程序都会用到这个来和系统底层进行交流。
所谓库就是“程序库”,包含了一些通用函数的数据和二进制可执行机器码的文件。这些文件是目标文件的一种,其不能单独执行。但是如果将其与其他的可执行程序结合起来就可以执行了。这些目标文件通常可以完成同一类功能,它们可以作为其他执行程序的一部分来执行。由于库的存在,使得用户编写的程序模块化更强,从而可以加消猜快程序的再编译,提高代码的复用性,同时也使程序更加易于升级和管理。对于读取文件内容,将大写字母转换为小写字母的简单程序来说,其程序的构成可以分为两个相对独立的模块,一个模块负责从外部指宽设备上读入文件,一个模块负责将文件内容进行适当的转换。这两个模块分工明确,互相不需要了解对方的细节。当需要将程序升级为将小写字母转换为大写字母时,不需要改变第一个读入文件的模块,只需更新负责转换 *** 唯桥亮作的模块就可以了。使用一个将小写字母转换为大写字母替换原来的转换处理模块,这时程序就完成了更新。假设现在需要生成一个读入文件内容,将文件中的多个空格合并为一个空格的程序时,就用不着重新生成一个文件读入模块,而直接使用第一个程序的文件读入模块就可以了。从链接方式上区分,程序库可分静态库和动态库(共享库)两种:静态库:是在可执行程序运行前就已经加入到执行码中,成为执行程序的一部分来执行的。
共享库:是在执行程序启动时加载到执行程序中,可以被多个执行程序共享使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)